【问题标题】:Profile non-terminating C program using gprof使用 gprof 分析非终止 C 程序
【发布时间】:2014-09-08 09:45:58
【问题描述】:

我正在尝试使用 gprof 分析程序。关键是在某些情况下,程序不会自行完成,而是使用 Linux 执行时间限制。在这种情况下,不会生成文件“gmon.out”。

我想知道是否有一种方法可以获取某种分析信息,即使在程序超时结束的情况下也是如此。就我阅读here 而言,这是不可能的,所以对于我的问题的任何 cmet 或建议,我将不胜感激。

提前致谢!

【问题讨论】:

    标签: c linux timeout profiling gprof


    【解决方案1】:

    如果您确定没有信号处理某个信号,比如说SIGTERM,您可以添加一个调用exit() 的信号处理程序。

    然后您可以使用kill -SIGTERM pid 终止您的程序,并且应该创建gmon.out

    【讨论】:

    • 您好,感谢您的提示!我按照您的建议添加了信号管理,但由于我使用了_exit,仍然没有创建gmon.out,然后我将_exit替换为exit,文件创建成功。
    【解决方案2】:

    如果您在 gdb 中运行程序或可以将 gdb 附加到程序,您可以使用“p exit(0)”关闭程序并转储配置文件数据。

    【讨论】:

      猜你喜欢
      • 2014-01-23
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      • 1970-01-01
      • 2014-07-10
      • 2010-12-19
      • 2016-07-25
      相关资源
      最近更新 更多