【发布时间】:2013-08-30 23:49:45
【问题描述】:
我正在尝试在用 C 编写的 DBMS 上运行一些配置文件,主要是 postgres 二进制文件。我希望能够使用实用程序打印出程序进行的函数调用序列。举个简单的例子,以这个程序为例:
void func1 () {
printf("x\n");
}
void func2 () {
printf("y\n");
func1();
}
int main () {
func2();
func1();
return 0;
}
当使用这个“实用程序”编译和执行时,我希望看到类似这样的内容:
-> main
-> func2
-> func1
-> func1
<-
另外,我无法修改源代码或 makefile,但是 -g 已经启用。
我知道我过去曾使用过类似的分析器,但我不记得是哪一个。我进行了一些谷歌搜索,但找不到不需要我更改源代码或 makefile 的好解决方案。
我可以使用什么分析工具来完成这项工作?还是不存在?
谢谢。
【问题讨论】:
-
我不认为有一个标准命令可以在所有操作系统上运行,可以满足您的需求。
-
您指的是静态配置文件(显示函数调用层次结构)还是动态配置文件(显示基于执行的实际函数调用)?
-
@mbratch 我指的是动态配置文件。
标签: c postgresql profiling