1

我正在尝试使用Google Performance Tools,特别是 64 位 Ubuntu 14.04 存储库中的官方版本,来调试应用程序及其相关.so库。

以最小的更改运行,只需确保-g已设置,即可获得跟踪信息,但主可执行文件中只有几个符号。按照相当少的文档中的建议添加ProfilerRegisterThread()到库中的线程实际上会使事情变得更糟,输出的符号更少,只有十六进制地址。

如何正确地分析库中的线程?

4

1 回答 1

0

pprof 使用 addr2line 进行地址到符号解析。如果启用了 ASLR,addr2line 将不起作用。尝试禁用 ASLR。

另一种可能性是为 pprof 实现 HTTP 服务器接口,并使用 libbacktrace 之类的东西来实现地址到符号的解析。

于 2016-06-15T15:44:05.927 回答