Breakpoints.Add 方法
创建和启用新断点。
命名空间: EnvDTE
程序集: EnvDTE(在 EnvDTE.dll 中)
语法
声明
Function Add ( _
Function As String, _
File As String, _
Line As Integer, _
Column As Integer, _
Condition As String, _
ConditionType As dbgBreakpointConditionType, _
Language As String, _
Data As String, _
DataCount As Integer, _
Address As String, _
HitCount As Integer, _
HitCountType As dbgHitCountType _
) As Breakpoints
Breakpoints Add(
string Function,
string File,
int Line,
int Column,
string Condition,
dbgBreakpointConditionType ConditionType,
string Language,
string Data,
int DataCount,
string Address,
int HitCount,
dbgHitCountType HitCountType
)
Breakpoints^ Add(
[InAttribute] String^ Function,
[InAttribute] String^ File,
[InAttribute] int Line,
[InAttribute] int Column,
[InAttribute] String^ Condition,
[InAttribute] dbgBreakpointConditionType ConditionType,
[InAttribute] String^ Language,
[InAttribute] String^ Data,
[InAttribute] int DataCount,
[InAttribute] String^ Address,
[InAttribute] int HitCount,
[InAttribute] dbgHitCountType HitCountType
)
abstract Add :
Function:string *
File:string *
Line:int *
Column:int *
Condition:string *
ConditionType:dbgBreakpointConditionType *
Language:string *
Data:string *
DataCount:int *
Address:string *
HitCount:int *
HitCountType:dbgHitCountType -> Breakpoints
function Add(
Function : String,
File : String,
Line : int,
Column : int,
Condition : String,
ConditionType : dbgBreakpointConditionType,
Language : String,
Data : String,
DataCount : int,
Address : String,
HitCount : int,
HitCountType : dbgHitCountType
) : Breakpoints
参数
Function
类型:String可选。 一个函数断点。 设置断点的函数名。
File
类型:String可选。 一个文件断点。 设置断点的文件名和可选路径。
Line
类型:Int32可选。 一个文件断点。 设置断点位置的源代码行号,该行号从函数的开始处计算。 如果此值为 1,则在函数开头设置断点。
Column
类型:Int32可选。 一个文件断点。 设置的断点所在的字符。 在大多数情况下,可以将此值保留为 1,这将在行开始处设置断点。
Condition
类型:String可选。 断点 Condition。 与 ConditionType 一起使用。
ConditionType
类型:EnvDTE.dbgBreakpointConditionType可选。 条件类型。 一个 dbgBreakpointConditionType 值。 与 Condition 一起使用。
Language
类型:String可选。 编写函数所使用的编程语言。
Data
类型:String可选。 一个数据断点。 如果在变量上设置断点,则可以指定变量的名称。 可使用上下文运算符指定当前范围以外的变量。
DataCount
类型:Int32可选。 一个数据断点。 如果断点设置在变量上,并且变量是一个数组或已取消引用的指针,则此值指定要监视的元素的数量。
Address
类型:String可选。 一个地址断点。 设置断点的内存地址,格式为十进制或十六进制。
HitCount
类型:Int32可选。 断点的 Hit Count 属性。 如果不指定命中次数,则当每次命中断点时,程序的执行都会中断。 如果指定命中次数,则仅当命中了指定的次数时,程序的执行才会中断。
HitCountType
类型:EnvDTE.dbgHitCountType可选。 命中次数类型。 一个 dbgHitCountType 值。
返回值
类型:EnvDTE.Breakpoints
一个 Breakpoints 集合。
备注
创建并启用新断点,然后返回 Breakpoints 集合。
此方法的所有参数都是可选的;但是只能指定四种位置类型中的一种,如下所示。
在此位置类型中设置断点 |
使用参数 |
---|---|
在函数内。 |
Function |
在文件内。 可以选择指定文件中的行位置和列位置。 |
File、Line 和 Column |
在数据内。 可以选择在变量上设置,并可以设置要监视的变量数。 |
Data 和 DataCount |
在指定的地址。 |
Address |
对于任何一种位置类型,您都可以选择提供 Condition 和 ConditionType,只有在满足指定的条件后才中断。 您还可以选择提供 HitCount 和 HitCountType,在命中了指定的次数后中断。
示例
下面的示例演示如何使用 Add 方法。
若要测试此方法,请执行下列操作:
- 打开目标项目并运行外接程序。
public static void Add(DTE dte)
{
// Setup debug Output window.
Window w = (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
w.Visible = true;
OutputWindow ow = (OutputWindow)w.Object;
OutputWindowPane owp = ow.OutputWindowPanes.Add("Add Method Test: ");
owp.Activate();
// dte is a reference to the DTE object passed to you by the
// OnConnection method that you implement when you create an add-in.
EnvDTE.Debugger debugger = (EnvDTE.Debugger)dte.Debugger;
debugger.Breakpoints.Add("","Target001.cs", 13, 1, "",
EnvDTE.dbgBreakpointConditionType.dbgBreakpointConditionTypeWhenTrue,
"C#","", 0, "", 0, EnvDTE.dbgHitCountType.dbgHitCountTypeNone);
debugger.Breakpoints.Add("","Target001.cs", 15, 1, "",
EnvDTE.dbgBreakpointConditionType.dbgBreakpointConditionTypeWhenTrue,
"C#","", 0, "", 0, EnvDTE.dbgHitCountType.dbgHitCountTypeNone);
owp.OutputString("\nNumber of Breakpoints: " + debugger.Breakpoints.Count);
owp.OutputString("\nEdition of the environment: " +
debugger.Breakpoints.DTE.Edition);
owp.OutputString("\nParent's Current Mode: " +
debugger.Breakpoints.Parent.CurrentMode);
owp.OutputString("\nFirst breakpoint is on line " +
debugger.Breakpoints.Item(1).FileLine + ".");
owp.OutputString("\nSecond breakpoint is on line " +
debugger.Breakpoints.Item(2).FileLine + ".");
}
Shared Sub AddBreakpoint(ByRef dte As EnvDTE.DTE)
dte.Debugger.StepInto(True)
dte.Debugger.Breakpoints.Add("", "Target001.cs", 13, 1, "", _
EnvDTE.dbgBreakpointConditionType.dbgBreakpointConditionTypeWhenTrue, _
"C#", "", 0, "", 0, EnvDTE.dbgHitCountType.dbgHitCountTypeNone)
dte.Debugger.Breakpoints.Add("", "Target001.cs", 15, 1, "", _
EnvDTE.dbgBreakpointConditionType.dbgBreakpointConditionTypeWhenTrue, _
"C#", "", 0, "", 0, EnvDTE.dbgHitCountType.dbgHitCountTypeNone)
End Sub
.NET Framework 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关详细信息,请参阅通过部分受信任的代码使用库。