How to: Specify a Tracepoint/Breakpoint Action

This topic applies to:

Edition

Visual Basic

C#

F#

C++

Web Developer

Express

Topic does not apply Topic does not apply Topic does not apply Topic applies Topic does not apply

Pro, Premium, and Ultimate

Topic applies

Topic applies

Topic applies

Topic applies

Topic applies

Tracepoints are a new way to use breakpoints. A tracepoint is a breakpoint with a custom action associated with it. When the tracepoint is hit, it causes the debugger to perform the specified action instead of (or in addition to) breaking program execution.

You can create a tracepoint in two different ways:

  • You can convert an existing breakpoint into a tracepoint by adding a tracepoint action. Any type of breakpoint can be converted into a tracepoint.

  • You can create a tracepoint from scratch with the New Tracepoint command.

Note

The dialog boxes and menu commands you see might differ from those described in Help, depending on your active settings or edition of Visual Studio. To change your settings, select Import and Export Settings from the Tools menu. For more information, see Working with Settings.

To create a tracepoint from scratch

  1. In a source window, click a line where you want to set a tracepoint, and then select Insert Tracepoint from Breakpoints on the shortcut menu.

    The When Hit dialog box appears. It contains two text boxes where you can enter custom actions: Print a message and Run a macro.

    At this point, you can accept the preselected tracepoint settings, or modify them as follows:

    To create a tracepoint that prints a message to the Output window, select Print a Message and enter the message text in the corresponding text box. By using Print a Message, you can use tracepoints for same purposes that you would use a trace class, but without the need to modify your code.

    You can include programmatic information by using DebuggerDisplayAttribute syntax (see DebuggerDisplayAttribute). For example:

    In function '{$FUNC}', on thread '{$TID}'

    -or-

    Used variable: {varName}, function name: {functionName($FUNC)}

    You can use any of the keywords shown on the When Breakpoint Is Hit dialog box. In addition, you can use two other keywords that are not shown in the dialog box: $TICK inserts the current CPU tick count, while $FILEPOS inserts the current file position.

    A default message appears in Print a Message when the When Breakpoint Is Hit dialog box opens. If you want to accept this message, click OK.

    To run a Visual Studio automation model macro, select Run a Macro and choose a macro from the drop-down list.

    When you select Print a Message or Run a Macro, the Continue Execution check box becomes active. Select Continue Execution if you do not want the tracepoint to break execution of your program.

  2. Click OK.

To create a tracepoint from an existing breakpoint

  1. In a source, Disassembly, or Call Stack window, right-click a breakpoint glyph and select When Hit.

    -or-

    In the Breakpoints window, right-click a breakpoint glyph and select When Hit.

    The When Hit dialog box appears.

  2. Click OK to accept the preselected tracepoint settings, or modify them as explained in the previous procedure.

See Also

Reference

Trace

Other Resources

Breakpoints and Tracepoints