Debugger.Stop 方法
停止调试、终止或与所有附加进程分离。
命名空间: EnvDTE
程序集: EnvDTE(在 EnvDTE.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 停止调试并终止附加进程。 有关更多信息,请参见 如何:停止调试或停止执行。
示例
下面的示例演示如何使用 Stop 方法。
若要测试此方法,请执行下列操作:
在目标应用程序中设置一个断点。
以调试模式运行目标应用程序。
当此应用程序停在该断点处时,运行外接程序。
public static void Stop(DTE dte)
{
EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
debugger.Stop(true);
}
Shared Sub Stop(ByRef dte As EnvDTE.DTE)
dte.Debugger. Stop(True)
End Sub
' WaitForDesignMode is true
Sub StopDebuggingAndNotifySync
DTE.Debugger.Stop(True)
MsgBox("Debugger has been stopped, for sure.")
End Sub
' WaitForDesignMode is false
Sub StopDebuggingAndNotifyAsync
DTE.Debugger.Stop(False)
' Depending on how long it takes to stop debugging,
' the environment may or may not yet be in Design mode.
If DTE.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
DTE.Debugger.Stop(False)
While DTE.Debugger.CurrentMode <> dbgDebugMode.dbgDesignMode
System.Threading.Thread.Sleep(50)
End While
MsgBox("Debugger has been stopped")
End Sub
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。