问题是这样的,同事觉得自己的程序不够快,就想拿gprof测一下,结果发现程序一直都没有在当前目录下生成gmon.out文件。反复尝试了几次都不行,因为调用了我写的库,所以他跑来问我。我帮他查了快一个小时才查出问题来,当然这里面有程序运行的时间。原因是他在自己的代码里面调用了 chdir(),结果所有的gmon.out都写到了另外一个地方。
而我当时碰到这个问题的情形是找不到core文件。那时我想也没想,随手就在根目录下面 find了一把,一下子就找到了原因。
另外再说一句,今天看到LWN上说Linux kernel的2.6.37版有针对prof的更新。针对有动态链接的程序,还是得靠prof和Oprofile了。
--
caosuwei <caosuwei@gmail.com>
没有评论:
发表评论