[英]Qt creator gdb remote debugging with debug helpers
Qt Creator的最新版本要求gdb必須使用python支持進行編譯。 使用python支持為遠程手臂編譯gdb。
(可選)創建構建文件夾
mkdir -p build/gdb
使用以下參數運行configure。 注意: arm-linux-gnueabi
這應該是PATH中交叉編譯器二進制文件的前綴。
../../configure --target=arm-linux-gnueabi --with-python
運行make
如果一切順利,則應該在gdb-7.7.1/build/gdb/gdb/
使用python支持編譯一個gdb可執行文件,該文件可以與arm上運行的gdbserver通信。
gdbserver的源位於gdb源中。
(可選)為gdbserver創建一個構建目錄
mkdir -p build/gdbserver
准備gdbserver進行交叉編譯
../../gdb/gdbserver/configure --host=arm-linux-gnueabi
運行make
如果一切順利,則應該在gdb-7.7.1/build/gdbserver/
具有gdbserver
可執行文件。
gdbserver必須位於要運行您要調試的代碼的目標設備上。 我剛剛使用scp
將其移動到/usr/bin
。 由於/usr/bin
位於PATH中,因此gdbserver在遠程終端中可用。
為了能夠從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.