Visual Runtime conflicts with the debugger?
Markus Hitter
mah at jump-ing.de
Sun Jul 20 08:24:04 CDT 2008
Hello all,
My pet app (Catia) works partially now. The thing most missing is, it
can't open a file. As soon as I attempt to do so, the app freezes for
a minute, then a "Visual C++ Runtime Exception" is shown. The shown
dialog doesn't feature any meaningful information.
So I moved from "wine" at the command line to "winedbg" to get a
grip. Unfortunately, this runtime exception doesn't cause the
debugger to jump in. All I get is one line:
> wine: Unhandled exception 0x80000003 at address 0x7b844351 (thread
> 0027), starting debugger...
If I force the debugger to pay attention by typing Ctrl-C, I can even
get a tiny backtrace:
> Backtrace:
> =>1 0xffffe40e (0x0033f260)
> 2 0x00000800 (0x0033f3a0)
> 3 0x7b84ab42 ReadFile+0x264(hFile=0x50, buffer=0x33f448,
> bytesToRead=0x800, bytesRead=0x33fcc0, overlapped=0x0) [/home/mah/
> wine/dlls/kernel32/file.c:451] in kernel32 (0x0033f420)
> 4 0x0040367b in catstart (+0x367b) (0x0033fc58)
Nevertheless, the app continues to run in the GUI as before, making
it impossible to check print variables or do stepping.
As a third chance, I tried "winedbg --gdb". However, this stops very
early:
> 00000038:00000013: exception code=0x80000003
> warning: Target reported unsupported offsets:
> Text=00110e20;Data=000000be;Bss=00000008
> [New Thread 19]
> 0x7b8829fd in DbgBreakPoint () at ../../include/winternl.h:1828
> 1828 static inline void WINAPI DbgBreakPoint(void) { __asm__
> __volatile__("int3"); }
> trace: 98 => 80
After showing this, no debugger prompt follows and a Ctrl-C is
answered with a quit of both, the debugger and the app.
As a last resort I tried to insert printf() statements into the
source, finding me unable to repeat the numbers seen in the tiny
backtrace above. bytesToRead obviously never has the value 0x800 (=
2048).
So my question is: How would I go and debug such an issue? Is it even
possible to set breakpoints, to get meaningful backtraces and print()
statements and/or to catch Visual Whatever Runtime Exceptions?
Thanks,
Markus
P.S.: This is a current Wine (git) on Ubuntu 64-bit.
- - - - - - - - - - - - - - - - - - -
Dipl. Ing. Markus Hitter
http://www.jump-ing.de/
More information about the wine-devel
mailing list