Package.GetBreakpointTargets Method (IDTSBreakpointSite, Boolean)


Returns a BreakpointTargets collection. Depending on the setting of the onlyEnabled parameter, the collection contains all breakpoint targets in the package, or only enabled breakpoint targets.

Namespace:   Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

public BreakpointTargets GetBreakpointTargets(
	IDTSBreakpointSite bpSite,
	bool onlyEnabled


Type: Microsoft.SqlServer.Dts.Runtime.IDTSBreakpointSite

An object implementing the IDTSBreakpointSite interface.

Type: System.Boolean

A Boolean that indicates what type of breakpoint targets to include in the collection. true indicates that only enabled breakpoints are included in the collection, false indicates that all breakpoint targets are included in the collection.

The onlyenabled parameter, when set to true, checks the value of the Enabled property and includes those breakpoints with an Enabled set to true.

Integration Services (SSIS) supports breakpoints on containers and tasks. The SQL Server Data Tools (SSDT) provides debug windows, and the SSIS Designer provides progress reporting for debugging package control flow. SSIS Designer provides the Set Breakpoints dialog box where you can enable breakpoints and set the number of times a breakpoint occurs before the runtime engine stops running. If task breakpoints are enabled, the breakpoint icon appears next to the task on the design surface of the Control Flow window. You can set breakpoints to occur on events. For more information about setting breakpoints on events, see Integration Services (SSIS) Event Handlers.

The following code samples shows how to use the GetBreakpointTargets to get the collection of breakpoints in the package.

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Tasks.BulkInsertTask;

namespace Breakpoint_API
    class Program
        static void Main(string[] args)
            Package pkg = new Package();
            TaskHost taskHost = (TaskHost)pkg.Executables.Add("STOCK:FileSystemTask");
            BreakpointTargets bptargets = pkg.GetBreakpointTargets(taskHost, false);
            foreach (BreakpointTarget bpt in bptargets)
                Console.WriteLine("BreakOnExpressionChange? {0}", bpt.BreakOnExpressionChange.ToString());
                Console.WriteLine("Description              {0}", bpt.Description);
                Console.WriteLine("Enabled?                 {0}", bpt.Enabled);
                Console.WriteLine("HitCount                 {0}", bpt.HitCount);
                Console.WriteLine("HitTarget                {0}", bpt.HitTarget);
                Console.WriteLine("HitTest                  {0}", bpt.HitTest);
                Console.WriteLine("ID                       {0}", bpt.ID);
                Console.WriteLine("Owner                    {0}", bpt.Owner);

Sample Output:

BreakOnExpressionChange? False

Description Break when the container receives the OnPreExecute event

Enabled? False

HitCount 0

HitTarget 0

HitTest Always

ID -2147483647

Owner Microsoft.SqlServer.Dts.Runtime.TaskHost

Return to top