0
我正在使用Eclipse(gdb)和gdbserver調試遠程程序。我將我的Eclipse附加到已經運行的程序中。然後它停止執行我的斷點位置。這一切運作良好。我可以看到變量的內容。大。但是,如果我然後想通過例如恢復執行繼續或繼續,程序給我一個分段錯誤。你有什麼想法,爲什麼如果一個調試器出現分段錯誤可能發生?調試程序在恢復執行後崩潰
該程序使用多個線程。 最後的gdb跟蹤輸出如下。在這裏,一個SIGILL被投擲。
064,490 59-exec-next --thread 7 1 064,629 59^running 064,629 *running,thread-id="7" 064,629 (gdb) 064,685 *stopped,reason="signal-received",signal-name="SIGILL",signal-meaning="Illegal instruction",\ frame={addr="0x000000000044c2df",func="func_func",args=[{name="this",value="0x4053b8"}],fil\ e="src/funcs.c",fullname="/home/local/wolle/src/funcs.c",line="100"\ },thread-id="7",stopped-threads="all",core="1"
嚴重的是,嘗試在其他地方設置斷點。根據你對問題的描述,沒有人能夠提供幫助。 –
好吧,似乎這個問題是一個PID命名空間問題。你需要在正確的命名空間。 –