Debug Builds

A debugger can set breakpoints in a plugin. Use a Traffic Server debug build and compile the plugin with the -g option. A debugger can also be used to analyze a core dump. To generate core, set the size limit of the core files in the records.yaml file to -1 as follows:

CONFIG :ts:cv:`proxy.config.core_limit` INT -1

This is the equivalent of setting ulimit -c unlimited

Debugging Tips:

SystemTap and DTrace support

Traffic Server can be instrumented with SystemTap on Linux systems, or DTrace on *BSDs and macOS. In order to use such tools, Traffic Server needs to be built with -g, or the debug symbols need to be installed. On Debian systems, install the trafficserver-dbgsym package to install the debug symbols.

In addition to the normal probe points that can be used with SystemTap and DTrace, such as function calls and specific statements, Traffic Server does provide SDT markers at various interesting code paths.

Pass the --enable-systemtap flag to ./configure in order to build Traffic Server with dtrace style markers (SDT). On Traffic Server builds with SDT markers enabled, you can list the available markers with stap -L 'process("/path/to/traffic_server").mark("*").

See the SystemTap documentation and the DTrace guide for more information.