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
类型:System.String
可选。一个函数断点。设置断点的函数名。
- File
类型:System.String
可选。一个文件断点。设置断点的文件名和可选路径。
- Line
类型:System.Int32
可选。一个文件断点。设置断点位置的源代码行号,该行号从函数的开始处计算。如果此值为 1,则在函数开头设置断点。
- Column
类型:System.Int32
可选。一个文件断点。设置的断点所在的字符。在大多数情况下,可以将此值保留为 1,这将在行开始处设置断点。
- Condition
类型:System.String
可选。断点 Condition。与 ConditionType 一起使用。
- ConditionType
类型:EnvDTE.dbgBreakpointConditionType
可选。条件类型。一个 dbgBreakpointConditionType 值。与 Condition 一起使用。
- Language
类型:System.String
可选。编写函数所使用的编程语言。
- Data
类型:System.String
可选。一个数据断点。如果在变量上设置断点,则可以指定变量的名称。可使用上下文运算符指定当前范围以外的变量。
- DataCount
类型:System.Int32
可选。一个数据断点。如果断点设置在变量上,并且变量是一个数组或已取消引用的指针,则此值指定要监视的元素的数量。
- Address
类型:System.String
可选。一个地址断点。设置断点的内存地址,格式为十进制或十六进制。
- HitCount
类型:System.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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。