Debugging mingw applications using wine

Bryce McKinlay mckinlay at redhat.com
Sat Jan 1 20:59:54 CST 2005


Scott Ritchie wrote:

>On Sat, 2005-01-01 at 18:04 -0800, Scott Ritchie wrote:
>  
>
>>On Sat, 2005-01-01 at 17:53 -0500, Bryce McKinlay wrote:
>>    
>>
>>>I've attached the mingw-compiled C binary. Is it worth trying again with 
>>>a newwer WINE? Thanks!
>>>      
>>>
>
>Wait, I need to correct myself:
>
>NOT ALWAYS.
>
>There was a horrible bug in winelib that prevents compiling anything in
>the last release.  Heh, sorry.  For now I recommend either CVS or
>waiting for a week or two for the next release.
>  
>

Hi Scott.

I'm not actually using winelib (I think), but rather using a 
mingw-targeted cross-gcc to build "real" windows .exe's, and run those 
under wine. Now that you mention it, it might be worth giving winelib a 
try, however, as it might solve some of my testing/debugging issues. 
But, in this case, I'm attempting to test and debug a non-ELF binary - 
ie set up a debugging enviroment for actual windows exe's without 
actually having to run windows :)

In any case, I tried updating to wine-20041201-1fc2winehq.i686.rpm as 
you suggested. winedbg doesn't crash any more, at least on my small C 
test application, but it does show some stabs errors:

$ winedbg ./hello-mingw.exe
WineDbg starting on pid 0xa
In 32 bit mode.
0x0021647e: jmp 0x0021646d
Wine-dbg>b main
err:dbghelp_stabs:stabs_parse Unknown stab type 0x2e
err:dbghelp_stabs:stabs_parse Unknown stab type 0x4e
Many symbols with name 'main', choose the one you want (<cr> to abort):
[1]: 0x004012a5 main+0x25 [/home/mckinlay/tests/hello.c:4] in hello-mingw
[2]: 0x77f01130 main in <wine-loader>
...

On my much larger Java applications (larger because it is statically 
linked to the rather large libgcj runtime), I get thousands of those 
errors, followed (after a few minutes) by an Exception:

...
err:dbghelp_stabs:stabs_parse Unknown stab type 0x2e
err:dbghelp_stabs:stabs_parse Unknown stab type 0x4e

Exception c0000005
Wine-dbg>

Also, the "--gdb" mode doesn't seem to work as I'd expect in either 
case. I get a lot of "no debugging symbols found" errors from gdb in 
addition to the "Unknown stab type" errors as above.

$ winedbg --gdb ./hello-mingw.exe
0000000a:0000000b: create process 'D:\tests\hello-mingw.exe'/0x77bd003c 
@00401220 (0<0>)
err:dbghelp_stabs:stabs_parse Unknown stab type 0x2e
err:dbghelp_stabs:stabs_parse Unknown stab type 0x4e
0000000a:0000000b: create thread I @00401220
GNU gdb 6.3.50_2004-11-04-cvs
...
(no debugging symbols found)
trace: 98 => 80
Wine-gdb> b main
Breakpoint 1 at 0x77f01148
Wine-gdb> c
Continuing.

Program exited normally.

ie: gdb doesn't seem to be seeing the symbols from the windows .exe file.

Thanks for the help.

Bryce





More information about the wine-devel mailing list