所以我打算使用一個名爲ROS的框架爲新機器人編寫軟件。在ROS框架下,它將每個軟件組件作爲一個獨立的進程運行。此外,由於ROS旨在通過TCP信息共享一次在多臺機器上工作,因此我的設置將涉及多臺機器上的多個進程。GDB服務器 - 如何附加多臺機器上的多個進程?
現在我希望能夠運行gdb服務器並附加來自每臺機器的所有進程,以便在打到中斷點時暫停所有進程。
縱觀機制的文檔的GDB: https://sourceware.org/gdb/onlinedocs/gdb/Server.html
它詳細說明您可以通過命令附加多個進程gdb的服務器:
gdbserver的--attach通訊PID
然而,運行gdb服務器的機器,您將不會有其他機器上運行的進程的pid。你會如何將不同機器上的多個進程連接到同一臺gdb服務器上?如果這是不可能的,你將如何設置多個gdb服務器並讓它們彼此通信,以便一個掛起掛起其他人?
順便說一下,在最新的GNU Cauldron上有一個關於這個問題的演講。幻燈片:https://gcc.gnu.org/wiki/cauldron2017?action=AttachFile&do=view&target=GDB+%26+Multi-target.pdf;視頻:https://slideslive.com/38902683/the-gdb-bof-gdb-multitarget –