[Mono-bugs] [Bug 674490] New: Mono.Debugger.Soft.VirtualMachine.EnableEvents dislikes EventType.Step
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Feb 23 15:59:06 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=674490
https://bugzilla.novell.com/show_bug.cgi?id=674490#c0
Summary: Mono.Debugger.Soft.VirtualMachine.EnableEvents
dislikes EventType.Step
Classification: Mono
Product: Mono: Debugger
Version: 2.10.x
Platform: x86-64
OS/Version: Windows 7
Status: NEW
Severity: Minor
Priority: P5 - None
Component: backend
AssignedTo: martin at novell.com
ReportedBy: mikael at lyngvig.org
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
Created an attachment (id=415858)
--> (http://bugzilla.novell.com/attachment.cgi?id=415858)
Displays the assertion failed error (no new info).
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; da; rv:1.9.2.13)
Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729; .NET4.0E)
If you call EnableEvents with the EventType.Step value, the debugging agent
blows up with an assertion failed in line 5535 of debugger-agent.c. It appears
that debugger-agent.c expects some parameters to be passed over the line, which
EnableEvents does not pass over.
It may very well be me who is doing something wrong as I am meddling around
trying to grok the Mono Soft Debugger without any API documentation and only
the Mono and MonoDevelop sources to help me.
I just thought I'd let you know about this problem. It is very low priority as
far as I can see (MonoDevelop does not use the EventType.Step value when it
calls EnableEvents). It may even be intended behavior, but it is hard to say
without documentation.
My take was that I wanted to enable all events (except MethodEntry and
MethodExit) so that I could concentrate on handling the events rather than on
enabling and disabling all the time. So I created a huge call to EnableEvents:
// enable as many events as at all possible (cannot enable breakpoint events
for some obscure reason)
_vm.EnableEvents(
EventType.VMStart,
EventType.VMDeath,
EventType.ThreadStart,
EventType.ThreadDeath,
EventType.AppDomainCreate,
EventType.AppDomainUnload,
#if false
// enabling these events will likely slow down the run-time performance of
the running app too much
EventType.MethodEntry,
EventType.MethodExit
#endif
EventType.AssemblyLoad,
EventType.AssemblyUnload,
#if false
// the VirtualMachine.EnableEvents() method throws an exception if this one
is specified (reason unknown)
EventType.Breakpoint
#endif
EventType.Step,
EventType.Exception,
EventType.VMDisconnect
);
Reproducible: Always
Steps to Reproduce:
1. Create a VirtualMachine() instance (vm).
2. Call vm.EnableEvents(EventType.Step).
Actual Results:
Mono was terminated "in an unusual way".
Expected Results:
I would expect the Virtual Machine to enable all events without crashing and
burning. After all, it does seem somewhat sensible to simply enable all events
(except those that slow down execution such as MethodEntry and MethodExit) when
the virtual machine is started. I'm not sure if the Step event belongs in the
"slows down" category, though.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list