是否可以在执行时调试程序?

时间:2016-05-03 14:42:08

标签: linux debugging scripting centos monitoring

情境:

我执行了一个程序(监控软件)并且需要很长时间才能完成(现在差不多30分钟)。我知道,根据经验,它不应该花那么长时间,所以我试图找到一种方法,如果有一种方法,看看它发生了什么。

我尝试了什么:

到目前为止,我唯一能做的就是

ps auxww | grep myprogram

所以我知道它有效,

tail -f myprogram.log

所以我可以看到日志中是否有某些内容。到目前为止,只是一些小警告,不会有任何机会中断主程序。

问题:

那么,有没有办法在不重新启动程序的情况下debug以任何方式?

1 个答案:

答案 0 :(得分:1)

GNU调试器gdb接受选项-p以附加到runnig程序。当然,你必须知道你的过程的PID:

gdb -p PID