A program I use (Hearthstone Deck Tracker) recently switched from DotNet 4.5 to DotNet 4.7.2. Unfortunately, with 4.7.2, the program hangs when started in wine.
I'd like to debug this hang, however, I am not able to get a meaningful stack trace.
Attaching with plain gdb, I can see that there are 15 threads running, however, they all basically show the same useless back trace (wine is compiled with debug info).
Code: Select all
(gdb) thread apply all bt
Thread 15 (LWP 1451478):
#0 0xf7f5f169 in __kernel_vsyscall ()
#1 0xf7d460e7 in ?? ()
#2 0x7bcc97b9 in ?? ()
[...] Similar output for all other threads [...]
Code: Select all
Wine-dbg>info process
pid threads executable (all id:s are in hex)
00000110 1 'winedbg.exe'
0000004c 4 'explorer.exe'
00000038 8 'services.exe'
00000084 6 \_ 'winedevice.exe'
0000006c 5 \_ 'plugplay.exe'
00000044 4 \_ 'winedevice.exe'
00000020 15 'HearthstoneDeckTracker.exe'
Wine-dbg>attach 0x20
0x000000007bccba55 DbgBreakPoint+0x1 in ntdll: ret
Wine-dbg>bt all
Backtracing for thread 0124 in process 0020 (C:\Hearthstone Deck Tracker.debug\HearthstoneDeckTracker.exe):
Backtrace:
=>0 0x000000007bccba55 DbgBreakPoint+0x1() in ntdll (0x000000001218ff48)
1 0x000000007bcb4d62 DbgUiRemoteBreakin+0x81(arg=<couldn't compute location>) [\\?\unix\usr\src\winebld32\dlls\ntdll\..\..\..\wine-current\dlls\ntdll\process.c:1783] in ntdll (0x000000001218ff48)
2 0x000000007bccba50 call_thread_func_wrapper+0xb() in ntdll (0x000000001218ff5c)
3 0x000000007bccf5b7 call_thread_func+0x86() [\\?\unix\usr\src\winebld32\dlls\ntdll\..\..\..\wine-current\dlls\ntdll\signal_i386.c:3029] in ntdll (0x000000001218ffdc)
4 0x000000007bccba42 call_thread_entry+0x9() in ntdll (0x000000001218ffec)
Backtracing for thread 0100 in process 0020 (C:\Hearthstone Deck Tracker.debug\HearthstoneDeckTracker.exe):
011c:fixme:dbghelp:i386_fetch_context_reg Unknown register 9a
Exception c0000005