Is there a way to have winedbg --auto do a backtrace of all the threads in an app at exception time?
In order to help track down sporadic runtime crashes in our testing process, I have turned on winedbg --auto when wine handles exceptions via the AeDebug registry entry.
This is working pretty well except that often winedbg does a backtrace on a thread that I know is not the problem. If I could see a backtrace of all the threads --- lots of data, I know --- the tool might be more useful.
Is this already possible? How about advisable %) ? Or must I patch winedbg to do it?
Sometimes winedbg appears to hang when handling the exception, or at least doesn't print out any information. When could this happen? Is there something I could do to improve winedbg's chances of working?
Cheers... mo
PS: our system is using wine-20040914
Michael Ost a écrit :
Is there a way to have winedbg --auto do a backtrace of all the threads in an app at exception time?
In order to help track down sporadic runtime crashes in our testing process, I have turned on winedbg --auto when wine handles exceptions via the AeDebug registry entry.
This is working pretty well except that often winedbg does a backtrace on a thread that I know is not the problem. If I could see a backtrace of all the threads --- lots of data, I know --- the tool might be more useful.
Is this already possible? How about advisable %) ? Or must I patch winedbg to do it?
Sometimes winedbg appears to hang when handling the exception, or at least doesn't print out any information. When could this happen? Is there something I could do to improve winedbg's chances of working?
Cheers... mo
PS: our system is using wine-20040914
don't use the --auto flag and use the 'bt all' command at the prompt A+
On Fri, 2005-01-28 at 12:13, Eric Pouech wrote:
Michael Ost a écrit :
In order to help track down sporadic runtime crashes in our testing process, I have turned on winedbg --auto when wine handles exceptions via the AeDebug registry entry.
don't use the --auto flag and use the 'bt all' command at the prompt A+
Well, that won't work for us. We need --auto. There isn't a console or prompt in this setup. The program is auto-started by X.
So I guess I could look through the 'bt all' code and do something similar in response to, say, --auto-all on the command line...?
- mo
Michael Ost a écrit :
On Fri, 2005-01-28 at 12:13, Eric Pouech wrote:
Michael Ost a écrit :
In order to help track down sporadic runtime crashes in our testing process, I have turned on winedbg --auto when wine handles exceptions via the AeDebug registry entry.
don't use the --auto flag and use the 'bt all' command at the prompt A+
Well, that won't work for us. We need --auto. There isn't a console or prompt in this setup. The program is auto-started by X.
So I guess I could look through the 'bt all' code and do something similar in response to, say, --auto-all on the command line...?
IMO, the cleanest way would be to add an option (like the --command in gdb) which would execute commands out of a file (almost everything is in place, you just need to pass the name of the file in the call to parser() in winedbg.c). Then, set up the aedebug registry to something where you execute the proper commands for your specific settings
A+
On Fri, 2005-01-28 at 12:58, Eric Pouech wrote:
IMO, the cleanest way would be to add an option (like the --command in gdb) which would execute commands out of a file (almost everything is in place, you just need to pass the name of the file in the call to parser() in winedbg.c). Then, set up the aedebug registry to something where you execute the proper commands for your specific settings
OK. I'll take a look at it. So to mirror --auto's output, but include a backtrace of all threads, my debugger commands file would be:
info reg info stack info share bt all quit
Is that right? ... mo
PS: thanks for that 'bt all' command. It's not in the winedbg man page and will save me a lot of typing when I use winedbg in the future.
On Fri, 28 Jan 2005 13:09:26 -0800, Michael Ost wrote:
PS: thanks for that 'bt all' command. It's not in the winedbg man page and will save me a lot of typing when I use winedbg in the future.
Correct, it is not. That's because I suck.
If you want to submit a patch for that then great. BTW you can use something like
wine --auto --command 'bt all'
which might work.
thanks -mike
Michael Ost a écrit :
On Fri, 2005-01-28 at 12:13, Eric Pouech wrote:
Michael Ost a écrit :
In order to help track down sporadic runtime crashes in our testing process, I have turned on winedbg --auto when wine handles exceptions via the AeDebug registry entry.
don't use the --auto flag and use the 'bt all' command at the prompt A+
Well, that won't work for us. We need --auto. There isn't a console or prompt in this setup. The program is auto-started by X.
So I guess I could look through the 'bt all' code and do something similar in response to, say, --auto-all on the command line...?
actually, there's actually a (badly hacked) --command option to winedbg to pass commands from winedbg's arguments so you should set the aedebug key to something like winedbg --command bt\ all
HTH A+