[Mono-dev] Mono-Debugger: Multiple threads and SingleSteppingEngines?
martin at ximian.com
Tue Apr 28 03:26:21 EDT 2009
On Wed, 2009-04-22 at 10:43 +0200, jonas echterhoff wrote:
> I got debugging of multi-threaded applications to work in OS X, as in
> supporting it on the backend. But what I don't quite get yet is how
> multi-threaded applications should be handled and represented inside
> the debugger. In ThreadManager.cs, there is a comment:
> // For each application we're debugging, there is just one
> // no matter how many threads the application has. The engine is
> using one single
> // event loop which is processing commands from the user and
> events from all of
> // the application's threads.
> Somehow, it seems to me that this is not really the case. In
> ProcessServant.ThreadCreated (which is called when a new thread is
> created by the application):
> SingleSteppingEngine new_thread = new SingleSteppingEngine (
> manager, this, new_inferior, pid);
> Seems to contradict that. Looking at the code, I assume the above
> comment is wrong. It appears that the debugger will create one
> SingleSteppingEngine plus Inferior for each thread. Am I right?
yes, that's right - there's one SingleSteppingEngine and one Inferior
created by thread.
Sorry for not answering earlier, I was away on vacations last week.
I'll also have a look at your patch asap.
More information about the Mono-devel-list