【发布时间】:2018-05-31 08:26:37
【问题描述】:
我正在 Linux 中整合一个性能分析器,但在将收集的堆栈跟踪信息映射到函数名称时遇到了问题。
我目前正在从我的后处理代码中调用 addr2line,如下所示
FILE* pipe = popen("addr2line -f -i -s -C -e <libname> <address>", "r");
if (!pipe) return;
const size_t BUFFER_SIZE = 8192;
char buffer[BUFFER_SIZE];
string result;
while (!feof(pipe))
{
if (fgets(buffer, BUFFER_SIZE, pipe) != NULL)
result += buffer;
}
pclose(pipe);
但是,这非常慢,因为我的个人资料有很多样本。有没有像 addr2line 这样更快的其他实用程序,或者我可以以比我现在更有效的方式调用 addr2line?
【问题讨论】:
标签: linux gnu profiler addr2line