Open birdy-spb opened 2 years ago
The minidump (and consequently symbols) are loaded via DbgEng, which probably loads DbgHelp in its own way. I don't know if we have any control over that.
As I said - copying dbghelp to "C:\Program Files\Very Sleepy" solved the problem. I'm sure you can reproduce problem and solving.
As I said - copying dbghelp to "C:\Program Files\Very Sleepy" solved the problem.
OK, but that's not a solution. We can't do that unless the process is running as administrator, nor should it modify the Program Files directory generally.
Maybe what would work is that instead of loading dbghelpms.dll
, we first copy it to dbghelp.dll
and load that. This will maybe make dbgeng.dll
use this copy instead of the copy in system32.
I'm sure you can reproduce problem and solving.
Actually no as I don't use Windows for some time now. This project is in "help yourself" mode: if you can submit a pull request I can review and merge it (and people have been doing so until now), but unfortunately I don't have the capacity to research and fix bugs that are affecting others.
I tried to "Load symbols from minidump" for saved capture and got message in log: DBGHELP: symsrv.dll load failure I found with Procmon that sleepy.exe loads C:\Windows\System32\dbghelp.dll and tried to load C:\Windows\System32\symsrv.dll, but my system doesn't has it in C:\Windows\System32. According to https://docs.microsoft.com/en-us/windows/win32/debug/calling-the-dbghelp-library:
It looks like I need to copy that dlls to "C:\Program Files\Very Sleepy", but SymSrv.dll is already there and some dlls like dbghelp*.dll. I tried to copy all that libraries from Windows SDK distributive with overwriting symsrv.dll and it solved the problem. But I'm not sure that's the right way.