Debugging remotely from Visual studio
David Hemmo
david.wine at pilsoft.com
Fri May 6 09:26:36 CDT 2005
Eric Pouech wrote:
>
> - kernel send a trap signal
> - wine's ntdll catches it, and queue the information as a debug event in
> the wineserver
> - the debugger (msvcmon in your case) get notified of the trap while
> waiting for a debug event
>
I understand.
I made a log of what happens when I single step with the debugger:
I see the debugger waking up
001b: *wakeup* signaled=258 cookie=0x2f9ce4
then, a little further it get the exception status
001b: get_exception_status() = 0
{status=65538,context={flags=00010007,...,eflags=00210346,...}}
and then the same thread has a lot of lines in the log with the same message
001b: *signal* signal=5
until the message
001b:warn:seh:setup_exception exception outside of stack limits in
thread 001b eip 002b448d esp 019b12ec stack 0x19b0000-0x1ab0000
It clearly looks like a recursive call, or an infinite loop.
Any idea of what can trigger such a behaviour ?
Another question that could be related is the status of the trace flag
in EFlags (0x100). It looks like wine clears it in some of its code
(raise_trap_exception and the handler for SIGTRAP in signal_i386.c).
Shouldn't it be the debugger responsibilty ?
Thanks
David Hemmo
PS: I hope I am clear enough. Don't hesitate to contact me if anything
is missing, or not clear.
More information about the wine-devel
mailing list