Mono Class Library: Namespaces

Mono.Debugger.Soft Namespace

Mono Soft Debugger API [Edit]

Remarks

This API is used to communicate with the debugging agent running inside a mono runtime.

The API is based on and is very similar to the Java Debug Interface. If documentation is missing, the JDI documentation can be consulted instead.

In this documentation, debuggee refers to the remote process running the mono runtime which this API communicates with.

A Mirror object represents an entity in the debuggee. There is usually one mirror subclass for each type of entity, i.e. TypeMirror for types, AppDomainMirror for application domains etc. These classes usually have a similar set of properties/methods as their non-mirror counterparts, the difference is that calling these properties/methods might result in a remote call to the debuggee to request information. The results of these remote calls are usually cached in the mirror object, so when multiple calls are made to TypeMirror.Name, for example, only the first call involves a remote operation. The ToString()/Equals()/GetHashCode () methods are an exception, these are guaranteed to only access local state.

Differences between this API and JDI:

[Edit]

Classes

TypeReason
AppDomainMirrorRepresents an AppDomain in the debuggee.
ArrayMirrorRepresents an array object in the debuggee.
AssemblyLoadEventSent when an AssemblyLoad event occurs in the debuggee.
AssemblyMirrorRepresents an Assembly in the debuggee.
BreakpointEventSent when a Breakpoint event occurs in the debuggee.
BreakpointEventRequestRequest for Breakpoint events.
CustomAttributeDataMirrorRepresents a custom attribute in the debuggee.
EnumMirrorRepresents an enum instance in the debuggee.
ErrorHandlerEventArgsArguments to the Connection event handler.
EventRepresents an event occuring in the debuggee.
EventRequestRequest receiving a specific type of event.
FieldInfoMirrorRepresents a FieldInfo in the debuggee.
ILInstructionRepresents an IL instruction.
InvalidStackFrameExceptionThrown when a stack frame is accessed which belongs to a thread which was resumed.
InvocationExceptionDocumentation for this section has not yet been entered.
LaunchOptionsOptions used to control Mono.Debugger.Soft.VirtualMachineManager.Launch(String[], Mono.Debugger.Soft.LaunchOptions).
LocalVariableRepresents a local variable of a method.
LocationRepresents an executable location in the debuggee.
MethodBodyMirrorRepresents a MethodBody in the debuggee.
MethodEntryEventSent when a MethodEntry event occurs in the debuggee.
MethodEntryEventRequestRequest for MethodEntry events.
MethodExitEventSent when a MethodExit event occurs in the debuggee.
MethodExitEventRequestRequest for MethodExit events.
MethodMirrorRepresents a MethodInfo in the debuggee.
MirrorBase class for mirror objects.
ModuleMirrorRepresents a Module in the debuggee.
ObjectCollectedExceptionThrown when a attempt was made to access the state of a garbage collected object.
ObjectMirrorRepresents an object in the debuggee.
ParameterInfoMirrorRepresents a ParameterInfo in the debuggee.
PrimitiveValueRepresents a value of a primitive type in the debuggee.
PropertyInfoMirrorDocumentation for this section has not yet been entered.
StackFrameRepresents a stack frame of a suspended thread in the debuggee.
StepEventSent when a Single Step event occurs in the debuggee.
StepEventRequestRequest object for single step events.
StringMirrorRepresents a string object in the debuggee.
StructMirrorRepresents a valuetype instance in the debuggee.
ThreadDeathEventSent when a ThreadDeath event occurs in the debuggee.
ThreadMirrorRepresents a Thread in the debuggee.
ThreadStartEventSent when a ThreadStart event occurs in the debuggee.
TypeLoadEventSent when a TypeLoad event occurs in the debuggee.
TypeMirrorRepresents a Type in the debuggee.
ValueRepresents a value in the debuggee.
VirtualMachineRepresents a connection to a debuggee.
VirtualMachineManagerAllows launching and connecting to mono virtual machines.
VMDeathEventSent when a VMDeath event occurs in the debuggee.
VMDisconnectedExceptionThrown when the connection to the debuggee is lost while executing an operation.
VMDisconnectEventSent when the connection to the debuggee is lost.
VMMismatchExceptionThrown when an attempt was made to use entities belonging to different virtual machines.
VMStartEventSent when a VMStart event occurs in the debuggee.

Interfaces

TypeReason
IMirrorRepresents an entity in the debuggee.

Structs

TypeReason
CustomAttributeNamedArgumentMirrorDocumentation for this section has not yet been entered.
CustomAttributeTypedArgumentMirrorDocumentation for this section has not yet been entered.

Enumerations

TypeReason
ErrorCodeError codes sent by debuggee using the wire protocol.
EventTypePossible types of events.
StackFrameTypeRepresents the type of a stack frame.
StepDepthType of a Single Step operation.
StepSizeAmount of code to execute when single stepping.
SuspendPolicyDetermines which threads are suspended in the debuggee when an event occurs.