Breakpoint2::FilterBy Property

 

Gets or sets a condition at which a breakpoint is set.

Namespace:   EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

property String^ FilterBy {
	String^ get();
	void set(String^ value);
}

Property Value

Type: System::String^

A string containing a condition at which a breakpoint is set.

You can specify one or more conditions at which a breakpoint is set. Use &(AND), ||(OR), !(NOT), and parentheses to combine the following clauses:

MachineName == "machine"

ProcessID == 123

ProcessName = "process"

ThreadID = 123

ThreadName = "thread"

If no conditions are specified, the breakpoint is set in all processes and threads on any machine.

The following example demonstrates how to use the FilterBy property.

public static void FilterBy(EnvDTE80.DTE2 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("FilterBy Property Test");
    owp.Activate();

     EnvDTE80.Debugger2 debugger = (EnvDTE80.Debugger2)dte.Debugger;
    debugger.Breakpoints.Add("", "Target001.cs", 15, 1, "",
        EnvDTE.dbgBreakpointConditionType.dbgBreakpointConditionTypeWhenTrue, "C#", "", 0, "", 0,
        EnvDTE.dbgHitCountType.dbgHitCountTypeNone);
    EnvDTE80.Breakpoint2 b2 = (EnvDTE80.Breakpoint2)debugger.Breakpoints.Item(1);
    b2.FilterBy = "MachineName == " + "MyMachine" + " & " +
                  "ProcessID == " + "1000" + " & " +
                  "ProcessName == " + "NewProcess";
    string strFilterBy = b2.FilterBy.ToString();

    owp.OutputString(strFilterBy + "\n");
}
Return to top
Show: