[Mono-dev] softdebugger integration

Lucas Meijer lucas at lucasmeijer.com
Wed Dec 30 11:10:32 EST 2009


Hey,

With the help of kangaroo, I've gotten a very long way integrating the 
softdebugger. I can set breakpoints, have our embedded mono break on the 
breakpoints. I'm stuck now in the situation where embedded mono hits a 
breakpoint,  tells monodevelop about it.   Monodevelop then wants 
information from mono, such as the stacktrace, and later the stacktraces 
of all threads.   Monodevelop asks for this information. Embedded mono 
sends it back,  and at this point monodevelop seems stuck.
my debugger log ends with this:

[000034CC] Sent event TYPE_LOAD, suspend=2.
[dbg] Received command TYPE(1), id=1049.
[dbg] Received command TYPE(6), id=1050.
[000034CC] Suspended.
[dbg] Received command VM(4), id=1051.
[00003210] Resuming vm...
[000034CC] Resumed.
[000034CC] Breakpoint hit, method=OnEnable, offset=0x12.
[000034CC] Suspending vm...
[000034CC] Interrupting 00002C2C...
[000034CC] Interrupting 000000DC...
[000034CC] Sent event BREAKPOINT, suspend=2.
[dbg] Received command OBJECT_REF(5), id=1052.
[000034CC] Suspended.
[dbg] Received command OBJECT_REF(1), id=1053.
[dbg] Received command VM(2), id=1054.
[dbg] Received command OBJECT_REF(5), id=1055.
[dbg] Received command OBJECT_REF(1), id=1056.
[dbg] Received command THREAD(2), id=1057.
[dbg] Received command THREAD(2), id=1058.


I singlestepped trough mono to see that those last 7 requests were met, 
and okay looking response packets were sent to monodevelop.

At this point monodevelop just freezes for me. I'm pretty sure it's 
stuck in the GetBackTrace() method. It's hard to tell though, as I 
managed to have VisualStudio break all threads and inspect what's going 
on once, all the other tries visualstudio actually crashes with a gdi+ 
error (ugh).

I'm hoping this gives someone a hunch on what might be the problem.
Unfortunattely I can't yet singlestep trough Mono.Debugger.Soft, as I 
can't really succesfully build the classlibs on windows yet.

Bye, Lucas


More information about the Mono-devel-list mailing list