An unfortunate effect of the PE conversion is that relay logs contain much more noise, as every call from a builtin dll into the CRT is now included in relay logs. I tend to either delete those lines using a regex search in vim, or add ucrtbase.* to RelayExclude.
I don't think we want to make ucrtbase.* a default RelayExclude, as it would exclude calls from applications too, but maybe I'm wrong about that.
A possible alternative would be to add an option which excludes the calls only if they come from a builtin dll. We could then add ucrtbase.* to this by default. Maybe call it RelayFromBuiltinExclude.
Does this seem like a good idea? Does anyone have other thoughts?
If there were a way to apply this to libmono as well, that'd be useful, as it has a similar issue, but I can't think of a simple design that would make that work.
Hi,
On 05/11/21 19:09, Esme Povirk (she/they) wrote:
An unfortunate effect of the PE conversion is that relay logs contain much more noise, as every call from a builtin dll into the CRT is now included in relay logs. I tend to either delete those lines using a regex search in vim, or add ucrtbase.* to RelayExclude.
I don't think we want to make ucrtbase.* a default RelayExclude, as it would exclude calls from applications too, but maybe I'm wrong about that.
A possible alternative would be to add an option which excludes the calls only if they come from a builtin dll. We could then add ucrtbase.* to this by default. Maybe call it RelayFromBuiltinExclude.
Does this seem like a good idea? Does anyone have other thoughts?
I have something like that in my development patches, and sometimes it also was useful (in my idea that was not just for CRT, but for all libraries: only log a call if it comes from the application, not from other Wine code).
https://gitlab.com/giomasce/wine/-/commits/master
(see in particular "Implement relaycheck").
I'd say the currently it's more broken than not, and very hacky anyway. But if there is something that you like, help yourself! :-)
Giovanni.