0
gdb在命中斷點後嘗試執行一兩行命令後似乎處於錯誤狀態。有什麼具體的我可以在Eclipse中做到解決這個問題?gdbserver在Eclipse中未正確執行步驟(arm cortex a9)
攝製:在Eclipse
- 開始調試會話,連接到遠程目標
- 設置在Eclipse中斷點,然後觸發它的目標。
- 斷點在Eclipse中正確命中。現在「跨過」一兩行。
預期結果:
- '步過' 將執行一條線,因爲你通常期望。
實際結果:
- 而不是去到下一行號的,它出現在節目「繼續」。在Eclipse的調試視圖中,顯示所有線程的樹會將它們全部最小化,並且它們無法展開以顯示當前堆棧。此外,「步驟...」按鈕不再啓用,並且可以按下「暫停」和「停止」按鈕。這意味着程序正在運行,這是不可預料的,因爲我們以前曾經按下過「步驟」。看目標,它沒有運行,而是仍然暫停。
- 如果我們在Eclipse中點擊'暫停',然後打開具有斷點的特定線程,我們可以看到指令指針返回到我們預期在之前點擊'跳過'之後的正確位置。所以,乍一看,我們的工作流程似乎只是出現了一個呃逆,而且只要步進不正確,只需點擊「暫停」並找到我們以前的線程。但很快事情就停止工作...
我已經能夠重現這個問題,沒有Eclipse,只是使用命令行gdb和遠程gdbserver。發生相同的行爲。一個可笑的潛在解決方法是 - 一旦你達到了你的斷點,'設置調度程序鎖定'。之後,你可以踏上你心中的內容。但是,我沒有很好的理解這是做什麼。
任何人有任何輸入?
謝謝。