如何實現嵌入式Linux的GDB遠端除錯?

發布 科技 2024-02-05
3個回答
  1. 匿名使用者2024-01-25

    您可以使用 gdbserver 遠端除錯目標裝置上的程式。

    gdbserver 的基本用法如下:

    在這種情況下,gdbserver 偵聽埠號 1234 並等待客戶端連線。 皇室麻煩。

    然後,您可以除錯目標裝置的程式。

    當我第一次開始使用 gdbserver 時,我遇到了以下問題:

    問題的核心在於,手機上執行的 gdbserver 配置為 arm 架構(arm-eabi-linux),而 PC 上執行的 gdb 配置為 x86 64 架構。

    檢視 gdbserver 的版本

    您可以看到目標裝置的 gdbserver 是針對該體系結構的arm-eabi-linux

    我電腦上 gdb 的架構是"x86_64-unknown-linux-gnu"

    於是,出現了上述問題。

    解像度

    確保 gdbserver 和 gdb 配置的架構一致。 在PC上安裝ARM架構配置的GDB工具。

    gdb:the gnu debugger for the arm eabi (bare-metal) target

    archlinux 的解決方法是安裝 arm-none-eabi-gdb

    然後使用 arm-none-eabi-gdb 連線到 gdbserver。 巨集觀拆遷激烈。

  2. 匿名使用者2024-01-24

    命令如下1. 對於向應用程式新增引數進行除錯的方法:

    它需要像這樣使用:

    gdb) r -p1 -p2

    或者在執行 run 命令之前使用 set args 命令:

    gdb) set args p1 p2

    這可以使用 show args 命令進行檢視。

    2. 新增斷點:

    breakbreak

    break +offset

    break -offset

    在當前行號之前或之後的偏移線處停止。 中斷檔名:linenum 停在源檔名的 linenum 行處。

    break filename:函式在源檔名的函式函式的條目處停止。

    GDB:用於 Unix 和類 Unix 的除錯工具。 如果在UNIX平台下做軟體,GDB除錯工具相比VC和Z的優勢在於它具有修復網路斷點、恢復鏈路等功能,並且比BCB的圖形偵錯程式具有更強大的功能。

    2009 年 12 月 29 日,程式除錯工具 GDB 發布,新版本修復了版本中一些可能導致 GDB 除錯過程中斷的嚴重堆疊溢位 bug,修復了在 FreeBSD 和 IR 系統下無法編譯的問題,增加了對 thumb2 除錯的支援,並修復了一些其他小錯誤。

  3. 匿名使用者2024-01-23

    gdb debug 命令如下:

    1. 啟動 GDB

    GDB 現在可以與 GDB 互動。

    2. 啟動 GDB 並在分屏上顯示源。

    gdb -tui

    這樣,它就被使用了'-tui'選項,啟動時可以直接將螢幕分成兩部分,顯示源**,這比使用列表要方便得多。 在這種情況下,您可以使用向上和向下箭頭鍵檢視源**,如果要在命令列上使用向上和向下鍵,請使用 [Ctrl]n 和 [Ctrl]P。

    這樣,應用可執行檔案是在啟動 gdb 後直接載入的,需要注意的是,載入的應用在編譯時必須有乙個 gdb 除錯選項,例如'gcc -g app '注意,如果程式的源**被修改了,但是沒有編譯,那麼修改後的源**會顯示在gdb中,但執行的是修改前的程式,這樣會造成跟蹤的混淆。

    4.啟動程式後,使用gdb進行除錯。

    gdb 這裡是程式的可執行檔案名稱,是要除錯的程式的 PID如果程式是服務程式,則可以指定執行服務程式的程序將自動附加它並對其進行除錯。 應在 path 環境變數中搜尋程式。

    5. 啟動程式後,啟動gdb除錯。

    gdb 這裡,程式是乙個服務程式,所以可以指定服務程式執行時的程序 ID,也就是要除錯的程式的 pid這個 gdb 附加到程式上,但還看不到源,可以使用 file 命令來指示顯示源的可執行檔案。

相關回答
7個回答2024-02-05

了解如何嵌入:

1.C語言是所有程式語言中最強的,微控制器、DSP和類似ARM的各種晶元的程式設計都可以用C語言完成),所以一定非常熟練。 >>>More

10個回答2024-02-05

嵌入式數學、電學、軟體程式設計,領域比較寬,用人領域大。

6個回答2024-02-05

嵌入式 Linux 應用程式開發的完整手冊。

5個回答2024-02-05

嵌入式系統是用於控制的系統。 監控或協助機器和裝置正常執行的計算機。 >>>More