簡體   English   中英

Qt Creator GDB使用調試助手進行遠程調試

[英]Qt creator gdb remote debugging with debug helpers

到目前為止的設置

1.建立gdb

Qt Creator的最新版本要求gdb必須使用python支持進行編譯。 使用python支持為遠程手臂編譯gdb。

  1. 從此處http://www.gnu.org/software/gdb/download/獲取gdb來源
  2. 提取並移至提取的目錄
  3. (可選)創建構建文件夾

    mkdir -p build/gdb

  4. 使用以下參數運行configure。 注意: arm-linux-gnueabi這應該是PATH中交叉編譯器二進制文件的前綴。

    ../../configure --target=arm-linux-gnueabi --with-python

  5. 運行make

如果一切順利,則應該在gdb-7.7.1/build/gdb/gdb/使用python支持編譯一個gdb可執行文件,該文件可以與arm上運行的gdbserver通信。

2.構建gdbserver

gdbserver的源位於gdb源中。

  1. (可選)為gdbserver創建一個構建目錄

    mkdir -p build/gdbserver

  2. 准備gdbserver進行交叉編譯

    ../../gdb/gdbserver/configure --host=arm-linux-gnueabi

  3. 運行make

如果一切順利,則應該在gdb-7.7.1/build/gdbserver/具有gdbserver可執行文件。

3.將gdbserver遷移到目標

gdbserver必須位於要運行您要調試的代碼的目標設備上。 我剛剛使用scp將其移動到/usr/bin 由於/usr/bin位於PATH中,因此gdbserver在遠程終端中可用。

4.設置Qt創建者

為了能夠從Qt Creator部署和運行,您需要指定如何連接到目標。 Devices添加具有所需參數的新設備。 我在具有密碼身份驗證的目標上使用openssh。 運行測試以檢查此步驟是否通過。

要在目標上定義運行路徑,請在.pro文件中添加以下內容:

linux-* {
         target.path = .
         INSTALLS += target }

注意:您可以在Projects->Run檢查運行設置。 如果找不到運行按鈕,請先添加工具包。

Build and Run-> Kits -> "Your cross compiler kit name" ,為Debugger屬性選擇Manage... 添加一個新的調試器,該調試器指向在步驟1中編譯的gdb可執行文件。

另外,請確保在Debugger->Locals & Expressions啟用Use Debugging Helper ,以正確解釋QString。

我成功地走了這么遠


問題

當我編譯示例代碼並在主機上運行時,一切正常。 在此處輸入圖片說明

但是當我嘗試在遙控器上進行操作時,無法訪問任何內容。

在此處輸入圖片說明

彈出的錯誤:

在此處輸入圖片說明

隨着新見解的出現,我將對此進行更新。

“無法解析XML ...”消息來自gdb。 配置用於構建的gdb時,請確保將libexpat開發包放在眼前。

但是,這可能不是真正的問題。 我看到“ stty”。 如何指定與遠程目標的連接?

我無法將其與有關XML的錯誤相關聯,但是一旦在Build&Run-> Kits-> Sysroot中設置了正確的Sysroot,就可以解決該問題。

不知道默認情況下使用了什么sysroot ...

暫無
暫無

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

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