Thanks, later today I figured out that you can start winedbg and then use a wine process id to attach - I was trying to attach using unix pids and was wondering why it didn't work. The winedbg help screen seems a little out of date, it doesn't show you that the bt command accepts a tid as a parameter for instance, and I can't see any way to switch the current thread, despite the docs mentioning such a concept. I think I'll have a dig through the code tomorrow and try and improve the help screen a bit.
Oh and in case anybody has seen something similar before, the app seems to be freezing when iterating the window list using FindWindow during DLL attach. Figuring out thread deadlocks seems to be a bit of a black art....
thanks -mike
On Tue, 2003-04-08 at 18:32, Alexandre Julliard wrote:
Mike Hearn m.hearn@signal.qinetiq.com writes:
Is there any way of switching to a wine thread using gdb to get a backtrace? Is there a sneakier approach I can use to find out why thread 18 has apparently deadlocked? There is probably a race condition here - this program will start some times but not others :(
You can attach to a specific thread with gdb, but you have to specify its unix pid, you can't use the wine thread id of course, gdb doesn't know about that. You can see the unix pid of a thread with +server, or simply attach to each thread until you find the right one...