2011年1月5日星期三

chdir带来的问题

今天帮同事看了一个小问题。本来这个问题不算什么,但是这个问题是我以前就碰到过,随手就解决了。然后这次反而花了一段时间才解决的。
问题是这样的,同事觉得自己的程序不够快,就想拿gprof测一下,结果发现程序一直都没有在当前目录下生成gmon.out文件。反复尝试了几次都不行,因为调用了我写的库,所以他跑来问我。我帮他查了快一个小时才查出问题来,当然这里面有程序运行的时间。原因是他在自己的代码里面调用了 chdir(),结果所有的gmon.out都写到了另外一个地方。

而我当时碰到这个问题的情形是找不到core文件。那时我想也没想,随手就在根目录下面 find了一把,一下子就找到了原因。

另外再说一句,今天看到LWN上说Linux kernel的2.6.37版有针对prof的更新。针对有动态链接的程序,还是得靠prof和Oprofile了。
--
caosuwei <caosuwei@gmail.com>

没有评论: