【问题标题】:Events not traced with Dynamic loading动态加载未跟踪事件
【发布时间】:2015-04-16 17:10:54
【问题描述】:

我正在使用具有相同文件的 lttng 文档中提供的示例 C 应用程序。

http://lttng.org/docs/#doc-tracing-your-own-user-application

我按照文档中的说明创建我的共享库。

gcc -shared -W1,--no-as-needed -o hello-tp.so -llttng-ust hello-tp.o 

gcc -o hello hello.c hello-tp.o -ldl

hello-tp.so 与应用程序 hello 在同一文件夹中创建。所以我跑了

LD_PRELOAD=./hello-tp.so ./hello and beyond

我检查该活动是否可用

PID: 13120 - Name: ./hello
  ust_baddr_statedump:soinfo (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint)

正如预期的那样,它已正确加载。

我允许跟踪所有事件。我运行我的应用程序并开始跟踪。然后我停下来并使用“lttng view”查看跟踪。

但是我的跟踪文件是空的。

是否有原因导致即使我启用了它也没有跟踪任何事件?

感谢您的帮助。

【问题讨论】:

    标签: lttng


    【解决方案1】:

    我不得不搬家 #define TRACEPOINT_DEFINE #define TRACEPOINT_PROBE_DYNAMIC_LINKAGE #include "hello-tp.h" //包含事件的头文件

    进入我的 hello.c

    但不知道我必须保留 #define TRACEPOINT_CREATE_PROBES 在我的 hello-tp.c 中,所以当我链接到 hello-tp.o 时,它注册了该事件,但从未跟踪任何内容。所以 hello-tp.so 不会起作用。这个资源帮了我很多。 https://github.com/giraldeau/lttng-ust/tree/master/doc/examples/demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-17
      • 2014-01-05
      • 2019-09-29
      相关资源
      最近更新 更多