#### 13.1.1 Create and Delete Tracepoints

`trace` location
  The `trace` command is very similar to the `break` command. Its argument location can be a source line, a function name, or an address in the target program. See Specify Location. The `trace` command defines a tracepoint, which is a point in the target program where the debugger will briefly stop, collect some data, and then allow the program to continue. Setting a tracepoint or changing its actions doesn't take effect until the next `tstart` command, and once a trace experiment is running, further changes will not have any effect until the next trace experiment starts.

  Here are some examples of using the `trace` command:

                (gdb) trace foo.c:121    // a source file and line number

                (gdb) trace +2           // 2 lines forward

                (gdb) trace my_function  // first source line of function

                (gdb) trace *my_function // EXACT start address of function

                (gdb) trace *0x2117c4    // an address

  You can abbreviate `trace` as `tr`.

  The convenience variable `$tpnum` records the tracepoint number of the most recently set tracepoint.

`delete tracepoint` [num]
  Permanently delete one or more tracepoints. With no argument, the default is to delete all tracepoints. Note that the regular `delete` command can remove tracepoints also.

  Examples:

                (gdb) delete trace 1 2 3 // remove three tracepoints

                (gdb) delete trace       // remove all tracepoints

  You can abbreviate this command as `del tr`.