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