最好来自 Ubuntu 存储库。
Łukasz Lew
问问题
1336 次
5 回答
2
一个简单但有效的技术是在 GDB 下运行程序并处理 SIGINT 信号。在程序运行时,通过键入 control-c 或其他方式手动生成 SIGINT,并在程序停止时记录调用堆栈。多次执行此操作,例如 10 或 20 次,同时程序主观上很慢。这将使您很好地了解时间的去向。
这种方法不会给你精确的计时,但它确实可以精确地定位到花费最多时间的指令,包括调用指令。
于 2009-02-16T20:02:04.770 回答
1
Sysprof是一个很好的分析器,类似于 OProfile(也有一个 gtk GUI)。它在 Ubuntu 存储库中可用。它是一个内核级别的分析器,需要一个与 gprof 不同的内核模块,但也与 gprof 不同,它可以分析多线程应用程序。
于 2009-02-03T06:11:51.983 回答
0
有OProfile。使用起来并不难,但有点麻烦。
于 2009-02-03T00:59:52.597 回答
0
我在 Ubuntu 存储库中也可以使用 oprofile ( http://oprofile.sourceforge.net/news/ ) 取得了很好的成功。它不需要重新编译,并且对共享对象等没有任何限制。
于 2009-02-03T01:00:06.370 回答