How to: Specify a Tracepoint/Breakpoint Action

This topic applies to:

Edition

Visual Basic

C#

C++

Web Developer

Express

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

Standard

Topic applies

Topic applies

Topic applies

Topic applies

Pro and Team

Topic applies

Topic applies

Topic applies

Topic applies

Table legend:

Topic applies

Applies

Topic does not apply

Does not apply

Topic applies but command hidden by default

Command or commands hidden by default.

Tracepoints are a new way of using 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. To change your settings, choose Import and Export Settings on the Tools menu. For more information, see Visual Studio Settings.

To Create a tracepoint from scratch

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

  2. 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 edit 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 textbox. With Print a Message, you can use tracepoints for many of the same purposes that you would use the Trace Class, but without the need to modify your code.

    You can include programmatic information 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 on 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, just click OK.

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

    When you select Print a Message or Run a Macro, the Continue Execution checkbox becomes active. Select Continue Execution if you don't want the tracepoint to break execution of your program.

  3. 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 choose When Hit.

    —or—

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

    The When Hit dialog box appears.

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

See Also

Concepts

Breakpoints and Tracepoints

Reference

Trace