簡體   English   中英

Qt Creator遠程調試

[英]Qt Creator remote debugging

我有一個應用程序,我在嵌入式Linux設備上運行。 在Eclipse中,我可以使用eclipse-cdt-launch-remote插件運行遠程調試,在該插件中我指向要運行的二進制文件,以及在運行應用程序之前將其放在設備上的某些環境變量。 該應用程序是一個C++應用程序,帶有自定義Makefile,用於將應用程序構建為ELF文件。

應用程序通過SSH部署在設備上,使用用戶和密碼登錄。 然后,我可以使用步進等從Eclipse進行調試。 (我也使用MentorGraphics交叉編譯器arm-none-linux-gnueabi-2014.05)

我的問題是: 我如何在Qt Creator中模仿相同的功能,因為我喜歡用Qt Creator編碼而不是用Eclipse編碼? 我知道一個簡單的解決方法是在Qt Creator中編碼,然后使用Eclipse進行調試,但我真的想使用Qt Creator進行調試。

  • 編輯:通過幾小時的測試和閱讀Qt Creator IDE解決它。
    1. 導入了我的Makefile項目項目。
    2. 然后我進入工具下的選項並添加了使用SSH的設備。
    3. 之后我添加了一個調試器,我使用了gdb-multiarch,因為預構建的工具鏈二進制文件中提供的不支持python。
    4. 然后我添加了我的自定義工具鏈,指向編譯器路徑到工具鏈二進制g ++。 並將ABI設置為arm-linux-generic-elf-32bit。 雖然我實際上沒有看到在調試期間使用的編譯器設置。
    5. 我使用Device,Debugger和Compiler創建了一個新工具包。 並將設備類型設置為Generic Linux Device。 指向我在使用buildroot文件系統時解壓縮的sysroot。 這些是我在套件中設置的唯一選項。
    6. 關閉選項菜單,然后進入我添加新工具包的項目
    7. 更改了構建設置並設置了構建目錄並構建了應用程序的步驟。
    8. 更改了運行設置以使用一些自定義命令,例如將新構建的.elf應用程序移動到目標。 然后我設置本地可執行文件的位置和遠程可執行文件的位置。 遠程可執行文件是我使用來自主機的自定義命令移動到目標的可執行文件。
    9. 瞧! 我現在可以從Qt Creator對我的目標運行遠程調試。

Qt Creator內置支持遠程設備上的自動部署。

在嵌入式Linux設備上:

  • root用戶創建登錄密碼
  • 安裝openssh-servergdb-server軟件包

在Qt Creator上:

  • 進入工具>選項>設備,然后創建一個新設備,指定地址(即IP和端口號)和憑證(即根和密碼)。 更多信息請點擊此處
  • 進入工具>選項>構建並運行>編譯器並添加gcc 交叉編譯器路徑( 此處提供更多信息)
  • 進入工具>選項>構建並運行>調試器,然后添加gdb cross -debugger路徑( 此處提供更多信息)
  • 最后一步,最后進入工具>選項>構建和運行>套件 ,並將編譯器,調試器和設備鏈接到一個套件中,同時指定sysroot(即嵌入式Linux根文件系統的本地副本)。
  • 將構建目標設置為Debug。
  • 在Qt項目中,檢查是否已選擇所有部署步驟(例如,將文件傳輸到遠程設備)並添加任何所需的參數(例如Qt 4.x上的觸摸屏的-qws

一般來說,請看這里的指南。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM