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 一起使用。

  • Language
    类型:String

    可选。 编写函数所使用的编程语言。

  • Data
    类型:String

    可选。 一个数据断点。 如果在变量上设置断点,则可以指定变量的名称。 可使用上下文运算符指定当前范围以外的变量。

  • DataCount
    类型:Int32

    可选。 一个数据断点。 如果断点设置在变量上,并且变量是一个数组或已取消引用的指针,则此值指定要监视的元素的数量。

  • Address
    类型:String

    可选。 一个地址断点。 设置断点的内存地址,格式为十进制或十六进制。

  • HitCount
    类型:Int32

    可选。 断点的 Hit Count 属性。 如果不指定命中次数,则当每次命中断点时,程序的执行都会中断。 如果指定命中次数,则仅当命中了指定的次数时,程序的执行才会中断。

返回值

类型:EnvDTE.Breakpoints
一个 Breakpoints 集合。

备注

创建并启用新断点,然后返回 Breakpoints 集合。

此方法的所有参数都是可选的;但是只能指定四种位置类型中的一种,如下所示。

在此位置类型中设置断点

使用参数

在函数内。

Function

在文件内。 可以选择指定文件中的行位置和列位置。

File、Line 和 Column

在数据内。 可以选择在变量上设置,并可以设置要监视的变量数。

Data 和 DataCount

在指定的地址。

Address

对于任何一种位置类型,您都可以选择提供 Condition 和 ConditionType,只有在满足指定的条件后才中断。 您还可以选择提供 HitCount 和 HitCountType,在命中了指定的次数后中断。

示例

下面的示例演示如何使用 Add 方法。

若要测试此方法,请执行下列操作:

  1. 打开目标项目并运行外接程序。
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 安全性

请参阅

参考

Breakpoints 接口

EnvDTE 命名空间