Debugger2.Stop 方法 (Boolean)
停止调试,并终止所有附加的进程或从所有附加的进程分离出来。
命名空间: EnvDTE80
程序集: EnvDTE80(在 EnvDTE80.dll 中)
语法
声明
Sub Stop ( _
WaitForDesignMode As Boolean _
)
void Stop(
bool WaitForDesignMode
)
void Stop(
[InAttribute] bool WaitForDesignMode
)
abstract Stop :
WaitForDesignMode:bool -> unit
function Stop(
WaitForDesignMode : boolean
)
参数
- WaitForDesignMode
类型:System.Boolean
如果仅当调试会话进入设计模式时才应该停止该会话,则设置为 true。如果希望在调试器进入设计模式之前便停止调试,但又需要在宏中执行其他任务,请设置为 false。
备注
有关更多信息,请参见如何:停止调试或停止执行。
示例
下面的示例演示如何使用 Stop 方法。
若要测试此方法,请执行下列操作:
在目标应用程序中设置一个断点。
以调试模式运行目标应用程序。
当此应用程序停在该断点处时,运行外接程序。
public static void Stop(EnvDTE80.DTE2 dte)
{
EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
debugger.Stop(false);
}
' WaitForDesignMode is true.
Sub StopDebuggingAndNotifySync
DTE2.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false.
Sub StopDebuggingAndNotifyAsync
DTE2.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' you may or may not yet be in Design mode.
If DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
MsgBox("Debugger still stopping")
Else
MsgBox("Debugger has been stopped")
End If
End Sub
备注
宏在 Visual Studio 的主线程上运行。由于 IDE 始终不会进入设计模式,因此下面的代码无法运行,宏将陷入死循环。此时,应转而借助于单独的线程或池机制。
' Bad Code Example.
Sub StopDebuggingAndWaitForDesign
DTE2.Debugger.Stop(False)
While DTE2.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。