https://bugs.winehq.org/show_bug.cgi?id=54250
Bug ID: 54250 Summary: winedbg loads wrong debug symbols for builtin dlls Product: Wine Version: 7.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winedbg Assignee: wine-bugs@winehq.org Reporter: ake.rehnman@gmail.com Distribution: ---
Created attachment 73804 --> https://bugs.winehq.org/attachment.cgi?id=73804 Patched winedbg attempt
Winedbg loads the wrong debugging info for dlls where a native dll exists in the prefix and the native dll is replaced with the built-in version.
For instance the lpImageName in the DEBUG_EVENT struct contains the path to the C:\Windows\System32\somedll.dll but it is replaced with the built-in version from the build directory (in my case) that is actually mapped in to memory. So in this case winedbg loads the debug symbols from from the system directory and not the one that is in the build directory.
However it looks like if calling NtQueryInformationFile with the file handle we get the correct name to the loaded dll. See the attached patch how I solved the issue.