0
有一些工具可以使控制檯命令或控制檯應用程序作爲守護程序運行。爲了「守護」它,可以這麼說。作爲常規應用程序運行守護進程(在KDevelop中調試)
有沒有辦法像常規控制檯應用程序一樣運行守護進程?
我在KDevelop中編碼,沒有看到守護程序調試的任何選項。
謝謝!
有一些工具可以使控制檯命令或控制檯應用程序作爲守護程序運行。爲了「守護」它,可以這麼說。作爲常規應用程序運行守護進程(在KDevelop中調試)
有沒有辦法像常規控制檯應用程序一樣運行守護進程?
我在KDevelop中編碼,沒有看到守護程序調試的任何選項。
謝謝!
向守護程序添加一個特殊的調試模式來啓用它是相當正常的。也就是說,添加一個命令行選項來禁用守護步驟,讓程序在前臺運行。然後在gdb下運行守護進程很簡單。
我不知道有任何通用的方法來做到這一點。也許它可以通過LD_PRELOAD
攔截來完成,這很酷 - 但修改源代碼更簡單。
要調試正在運行的守護進程,可以使用gdb attach
命令。但是,這對於調試守護進程啓動並不是很好,因爲您必須爭分奪秒地進行連接。
Linux內核不支持「預先附加」到程序的下一個實例,但是我通過SystemTap寫了一個黑客程序,您可以找到here。
感謝您的解釋!你是一位優秀的程序員!順便說一句,我正在嘗試創建一個REST API服務器應用程序。只是爲了更熟悉C++。我也設法禁用守護進程,現在使用gdb在KDevelop中調試它非常舒服。剛剛評論了以下行:https://github.com/Begun/serverlib/blob/master/examples/example.cpp#L154 –