clion+gdbserver遠程調試


clion+gdbserver遠程調試

因為嵌入式開發板上沒有ide,自己又不會在終端中使用gdb調試。不過現在的ide可以gdbserver來遠程調試開發板上的程序,我個人很喜歡使用clion,記錄一下clion+gdbserver遠程調試。

依賴環境

嵌入式開發板:

  • gdbserver(這個是必須要安裝)
  • open-ssh(如果是使用clion的話這個必須要安裝,如果用vscode這個也不需要安裝)
  • rsync(如果單純只是調試的話,可以不需要,安裝了這個可以自動上傳可執行程序)

pc:

  • clion
  • 交叉編譯器
  • cmake
  • docker(docker是用來方便自己在開發板上安裝open-ssh的)

注意事項

如果想要調試的時候不出現亂跳以及變量信息的查看需要注意:

  1. cmakelist中需要添加 add_definitions("-g”) 為了保留調試信息
  2. cmakelist 關閉編譯優化 即將 -O3 優化 替換成 -O0 (使用ide遠程調試的時候改好,正式發布的時候再改回來即可)

clion 配置 遠程調試環境

  1. 點擊 Run 再點擊 Edit Configurations
  2. 點擊 + 新增一個 Remote GDB Server 配置
  3. 配置相關設置,下面是我自己的配置

說明:

  • Target: 構建的目標
  • Execute: 執行程序
  • Credentials: 與開發板連接的憑證(旁邊的設置按鈕用來設置ssh連接)
  • Upload Execute: 選擇上傳程序的方式(clion會將pc上編譯好的程序上傳到開發板,如果開發板上沒有rsync 則自己手動上傳)
  • Upload Path: 上傳程序的路徑(這里的路徑指的是開發板上的路徑,如果是自己手動上傳,就改成自己手動上傳的路徑)
  • GDB Server args: gdbserver命令的參數(主要 ip(ip不填則是默認開發板ip)+端口號+可執行程序+程序參數)
    舉例如下所示
192.168.53.53:1234 /root/client /userdata/test_demo/model.bin /userdata/test_demo/image
  1. 開發板環境變量的設置
    有時候可執行程序還鏈接一些庫,如果使用gdbserver調試會出現找不到該庫,這個時候可以在高級選項中修改 Environment Variables

點擊+新增一個環境變量(多個環境變量路徑用:隔開)

舉例如下:

/userdata/cpp_test:/userdata/work/lib/:/userdata/opencv/lib/

最后點擊OK保存所有的設置。
5. 遠程調試
在clion的右上角可以選擇遠程調試和本地調試(帶一個像蟲標記的就是剛才配置好的gdbserver調試,如果不確定可以點擊 Edit Configurations...來查看具體配置)

選擇遠程調試 然后點擊調試(就是那個像蟲一樣的按鈕)

最后就是享受 IDE調試的愉悅。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM