有些工具可以将控制台命令或控制台应用程序作为守护程序运行。为了“守护”它,可以这么说。
有没有办法将守护进程作为常规控制台应用程序运行?
我在KDevelop中编码,但没有看到守护程序调试的任何选项。
谢谢!
答案 0 :(得分:1)
向守护进程添加特殊调试模式以启用此功能是相当正常的。也就是说,添加一个命令行选项来禁用守护程序步骤,让程序在前台运行。然后在gdb下运行守护进程很简单。
我不知道有任何通用的方法来做到这一点。也许它可以通过LD_PRELOAD
拦截以某种方式完成,这很酷 - 但只是修改源代码更简单。
要调试正在运行的守护程序,可以使用gdb attach
命令。但是,这对于调试守护程序启动并不是很好,因为您必须竞争以及时附加。
linux内核不支持任何“预先附加”到程序的下一个实例的方法,但我写了一个hack来通过SystemTap来做,你可以找到here。