如何让 gcc 为 gprof 生成信息?
Posted
技术标签:
【中文标题】如何让 gcc 为 gprof 生成信息?【英文标题】:How to make gcc generate information for gprof? 【发布时间】:2015-05-31 09:57:36 【问题描述】:我知道我应该使用-pg
开关并运行已编译的程序,但它不起作用。我正在使用 cpuminer 源代码来学习有关英特尔内在函数和矢量化的知识,而不是硬币。知道 cpuminer 在哪里花费大部分运行时间。在运行配置之前,我将 -pg 开关添加到 CFLAGS。我可以看到 gcc 在编译期间使用它,例如:
gcc -std=gnu99 -DHAVE_CONFIG_H -I. -pthread -maes -Wall -O0 -g -pg -MT crypto/minerd-c_blake256.o -MD -MP -MF crypto/.deps/minerd-c_blake256.Tpo -c -o crypto/minerd-c_blake256.o `test -f 'crypto/c_blake256.c' || echo './'`crypto/c_blake256.c
但是当我运行 exec 时,没有出现 gmon.out
文件。
您能提示我应该在哪里检查/查看吗?
只需在程序停止运行时写入gmon.out
的地方即可。但我的从未停止。我正在用 ^C 杀死它 - 也许它会阻止 gmon.out
被写入?有没有更好的方法来停止程序,这样会写gmon.out
?
【问题讨论】:
【参考方案1】:答案如下: Saving gmon.out before killing a process
也非常适合我。谢谢大家。
【讨论】:
以上是关于如何让 gcc 为 gprof 生成信息?的主要内容,如果未能解决你的问题,请参考以下文章