本文整理汇总了C#中VirtualMachine.CreateExceptionRequest方法的典型用法代码示例。如果您正苦于以下问题:C# VirtualMachine.CreateExceptionRequest方法的具体用法?C# VirtualMachine.CreateExceptionRequest怎么用?C# VirtualMachine.CreateExceptionRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VirtualMachine
的用法示例。
在下文中一共展示了VirtualMachine.CreateExceptionRequest方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ConnectionStarted
/// <summary>
/// If subclasses do an async connect in OnRun, they should pass the resulting VM to this method.
/// If the vm is null, the session will be closed.
/// </summary>
void ConnectionStarted (VirtualMachine vm)
{
if (this.vm != null)
throw new InvalidOperationException ("The VM has already connected");
if (vm == null) {
EndSession ();
return;
}
connectionHandle = null;
this.vm = vm;
//full paths, from GetSourceFiles (true), are only supported by sdb protocol 2.2 and later
useFullPaths = vm.Version.AtLeast (2, 2);
ConnectOutput (vm.StandardOutput, false);
ConnectOutput (vm.StandardError, true);
HideConnectionDialog ();
vm.EnableEvents (EventType.AssemblyLoad, EventType.ThreadStart, EventType.ThreadDeath,
EventType.AssemblyUnload, EventType.UserBreak, EventType.UserLog);
try {
unhandledExceptionRequest = vm.CreateExceptionRequest (null, false, true);
if (assemblyFilters != null && assemblyFilters.Count > 0)
unhandledExceptionRequest.AssemblyFilter = assemblyFilters;
unhandledExceptionRequest.Enable ();
} catch (NotSupportedException) {
//Mono < 2.6.3 doesn't support catching unhandled exceptions
}
if (vm.Version.AtLeast (2, 9)) {
/* Created later */
} else {
vm.EnableEvents (EventType.TypeLoad);
}
started = true;
/* Wait for the VMStart event */
HandleEventSet (vm.GetNextEventSet ());
eventHandler = new Thread (EventHandler);
eventHandler.Name = "SDB event handler";
eventHandler.Start ();
}
示例2: ConnectionStarted
/// <summary>
/// If subclasses do an async connect in OnRun, they should pass the resulting VM to this method.
/// If the vm is null, the session will be closed.
/// </summary>
void ConnectionStarted (VirtualMachine vm)
{
if (this.vm != null)
throw new InvalidOperationException ("The VM has already connected");
if (vm == null) {
EndSession ();
return;
}
connectionHandle = null;
this.vm = vm;
//full paths, from GetSourceFiles (true), are only supported by sdb protocol 2.2 and later
var version = vm.Version;
if (version.MajorVersion <= 2 && version.MinorVersion < 2)
useFullPaths = false;
ConnectOutput (vm.StandardOutput, false);
ConnectOutput (vm.StandardError, true);
OnConnectionStarted ();
vm.EnableEvents (EventType.AssemblyLoad, EventType.TypeLoad, EventType.ThreadStart, EventType.ThreadDeath, EventType.AssemblyUnload);
try {
unhandledExceptionRequest = vm.CreateExceptionRequest (null, false, true);
unhandledExceptionRequest.Enable ();
} catch (NotSupportedException) {
//Mono < 2.6.3 doesn't support catching unhandled exceptions
}
OnStarted ();
started = true;
/* Wait for the VMStart event */
HandleEventSet (vm.GetNextEventSet ());
eventHandler = new Thread (EventHandler);
eventHandler.Name = "SDB event handler";
eventHandler.Start ();
}
示例3: HandleConnection
/// <summary>
/// If subclasses do an async connect in OnRun, they should pass the resulting VM to this method.
/// If the vm is null, the session will be closed.
/// </summary>
protected void HandleConnection (VirtualMachine vm)
{
if (this.vm != null)
throw new InvalidOperationException ("The VM has already connected");
if (vm == null) {
EndSession ();
return;
}
connectionHandle = null;
this.vm = vm;
ConnectOutput (vm.StandardOutput, false);
ConnectOutput (vm.StandardError, true);
OnConnected ();
vm.EnableEvents (EventType.AssemblyLoad, EventType.TypeLoad, EventType.ThreadStart, EventType.ThreadDeath, EventType.AssemblyUnload);
try {
unhandledExceptionRequest = vm.CreateExceptionRequest (null, false, true);
unhandledExceptionRequest.Enable ();
} catch (NotSupportedException) {
//Mono < 2.6.3 doesn't support catching unhandled exceptions
}
OnStarted ();
started = true;
/* Wait for the VMStart event */
HandleEvent (vm.GetNextEvent ());
eventHandler = new Thread (EventHandler);
eventHandler.Name = "SDB event handler";
eventHandler.Start ();
}