作者:HHH_YYYY | 来源:互联网 | 2018-05-08 23:10
这个小技巧虽然很小,但是很有用。我写了一个cron脚本,但是隔一天发现,这个昨天的cron脚本还一直在跑着,没有停下来,一定是里面有个程序堵住了。但是如果我重新跑又需要很多时间。这个怎么办?现在最需要就是要知道程序停在了那行代码上了。使用gdb:
这个小技巧虽然很小,但是很有用。 我写了一个cron脚本,但是隔一天发现,这个昨天的cron脚本还一直在跑着,没有停下来,一定是里面有个程序堵住了。 但是如果我重新跑又需要很多时间。这个怎么办? 现在最需要就是要知道程序停在了那行代码上了。使用gdb:
这个小技巧虽然很小,但是很有用。
我写了一个cron脚本,但是隔一天发现,这个昨天的cron脚本还一直在跑着,没有停下来,一定是里面有个程序堵住了。
但是如果我重新跑又需要很多时间。这个怎么办?
现在最需要就是要知道程序停在了那行代码上了。使用gdb:
$sudo gdb -p 14973
(gdb) print (char *)executor_globals.active_op_array->filename
$1 = 0x9853a34 "/home/xinhailong/test/php/test.php"
(gdb) print (char *)executor_globals.active_op_array->function_name
$2 = 0x9854db8 "test1"
(gdb) print executor_globals->current_execute_data->opline->lineno
$3 = 4
好了,我们就知道了,这个程序停在了/home/xinhailong/test/php/test.php文件的第4行代码中的test1函数内。
于是就能进行后续的分析了。