[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: debugger (once again)
From:       Eric Pouech <Eric.Pouech () wanadoo ! fr>
Date:       2000-04-30 9:16:30
[Download RAW message or body]

 Maybe I have a special problem; I get a back trace all right, but
> it's not at all what I expect it to be; I get the impression the back
> trace belongs to the debugger, not the debugged application.
well, this is the correct behavior but not the expected one:
-when an exception occurs, wine checks if the application is debugged.
if yes,the exception event is sent to the debugger,end of the story
if no, wine tries to launch a debugger. this debugger (normally
winedbg), at startup, attaches to the application which generated
the event. the way M$ implements it requires a call to a specific function
(DebugActiveProcess for the curious reader), which generates a dummy
exception event on one of the threads of the process. when this dummy
event has been processed, the exception event will be received by
the debugger
the first trace you posted cleanly shows this situation:
- the debugger is entered and displays the back trace of the first dummy 
event. just do a c(ontinue) and you'll get the exception event correctly
displayed
- I'll fix that by adding a configuration variable that would automate the
c(ont) in such cases

the second trace is a bit different (in its form) but displays the same type
of behavior (the trace is for the thread which caused the segv, whereas in
the first one, the first dummy backtrace was on the service thread)

A+
-- 
---------------
Eric Pouech (http://perso.wanadoo.fr/eric.pouech/)
"The future will be better tomorrow", Vice President Dan Quayle

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic