Debugging 64-bit Wine Apps with winedbg

Peter Urbanec winehq.org at urbanec.net
Thu Sep 23 12:04:34 CDT 2010


  On 23/09/10 06:51, Tom Grubbe wrote:
> problem seems to be getting any kind of stack trace information from 
> the 64-bit winedbg.  This used to work with the 32-bit version of winedbg.

I can confirm that wine64 winedbg can not produce valid backtraces for 
multi-threaded programs (.exe + .pdb) generated by the VS2005 64-bit 
compiler.

I get something like the following:

Backtracing for thread 001a in process 0008 (Z:\amd64\MultipleThreads.exe):
Backtrace:
=>0 0x00007f68d08925ab __libc_read+0x2b() in libpthread.so.0 
(0x00007f68ceb3c7a0)

Backtracing for thread 0019 in process 0008 (Z:\amd64\MultipleThreads.exe):
Backtrace:
=>0 0x00007f68d08925ab __libc_read+0x2b() in libpthread.so.0 
(0x00007f68cec4c7a0)

Backtracing for thread 0018 in process 0008 (Z:\amd64\MultipleThreads.exe):
Backtrace:
=>0 0x00007f68d08925ab __libc_read+0x2b() in libpthread.so.0 
(0x00007f68ced5c320)

Backtracing for thread 0009 in process 0008 (Z:\amd64\MultipleThreads.exe):
Backtrace:
=>0 0x00007f68d08925ab __libc_read+0x2b() in libpthread.so.0 
(0x00007f68cef7deb0)
0x00007f0d2737b5ab __libc_read+0x2b in libpthread.so.0: syscall

Testing on Gentoo x86_64, with wine 1.3.2. Identical source code 
compiled with VS2005 32-bit compiler running under wine32 produces valid 
backtraces, although they suffer from bug #20617


> * Setting WINEDEBUG to several debug channels has helped some but is 
> difficult to sift through all the noise

I don't get much joy from WINEDEBUG output because the crash I encounter 
appears to be in a DLL initialisation routine called / calling code from 
Microsoft.VC80.CRT redist code. I can't use the wine msvcrt/msvcp 
implementations because they are missing implementations for several 
functions.

> So any info on strategies to debug 64-bit Wine applications is welcome


I would also like to hear any tips for debugging under wine64. I'm 
finding that even the minidump files produced by wine64 are not much use 
in VS2005 or VS2008. At least the minidumps from wine32 can provide a 
little bit of info when loaded into VS2008 debugger.

I'm happy to provide test source code, 64-bit and 32-bit binaries and 
matching PDB files, if anyone is interested in looking at the issue.

Cheers,

     Peter Urbanec




More information about the wine-devel mailing list