"TRACEPOINT_DEFINE" and include the tracepoint provider.
- Use "-I." for the compilation unit containing the tracepoint
provider include (e.g. tp.c).
- - Link application with "-ldl".
+ - Link application with "-ldl" on Linux, with "-lc" on BSD.
- If building the provider directly into the application,
link the application with "-llttng-ust".
- If building a static library for the provider, link the static
- Include the tracepoint provider header into all C files using
the provider.
- Example:
- tests/hello/ hello.c tp.c ust_tests_hello.h Makefile.example
+ tests/hello/ hello.c tp.c ust_tests_hello.h Makefile.example.*
2) Compile the Tracepoint Provider separately from the application,
using dynamic linking:
files that use the provider.
- Compile the tracepoint provider with "-I.".
- Link the tracepoint provider with "-llttng-ust".
- - Link application with "-ldl".
+ - Link application with "-ldl" on Linux, "-lc" on BSD.
- Set a LD_PRELOAD environment to preload the tracepoint provider
shared object before starting the application when tracing is
needed. Another way is to dlopen the tracepoint probe when needed
recommended for applications with time constraints on the process
startup time.
+ - The compilation flag "-DLTTNG_UST_DEBUG_VALGRIND" should be enabled
+ at build time to allow liblttng-ust to be used with valgrind
+ (side-effect: disables per-cpu buffering).
+
TRACE VIEWER: