日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux系统 qt调试,Linux下Qt Creator远程调试(redhat5+mini6410)

發(fā)布時間:2023/12/19 linux 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux系统 qt调试,Linux下Qt Creator远程调试(redhat5+mini6410) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當(dāng)我們開發(fā)嵌入式系統(tǒng)下的Qt應(yīng)用程序時,有時候不能在虛擬機(jī)上進(jìn)行調(diào)試,這時候我們需要通過遠(yuǎn)程調(diào)試的方式在PC上調(diào)試嵌入式系統(tǒng)下的Qt應(yīng)用程序。這樣就產(chǎn)生了交叉調(diào)試。

本文環(huán)境介紹:

虛擬機(jī):vmware8.0.4 build-744019

Linux操作系統(tǒng):Red Hat Enterprise Linux5

交叉編譯工具:arm-linux-gcc

目標(biāo)板:mini6410(友善提供),已移植Qt4.7

Qt Creator版本:qt creator-1.3.0

Qt版本:qt-everywhere-opensource-src-4.7.0

一、設(shè)置NFS共享

交叉調(diào)試的前提需要設(shè)置NFS共享,在上位機(jī)下配置NFS服務(wù),建立NFS共享目錄。

1、PC機(jī)下開啟NFS服務(wù)

[root@localhost home]# service nfs restart

2、設(shè)置共享目錄

[root@localhost home]# vim /etc/exports

打開exports文件后,添加如下內(nèi)容:

/home/NFS?????? *(rw,sync,no_root_squash)

保存退出。

說明一下,上面的含義為:/home/NFS 表示我的共享目錄,* 表示任意的開發(fā)板的ip地址,rw表示可讀寫,sync表示同步,no_root_squash表示有root權(quán)限。

接下來使用如下命令使共享目錄生效:

[root@localhost home]# exportfs -ra

不信看看:

[root@localhost home]# exportfs -v

是不是出現(xiàn)了:/home/NFS?????? (rw,wdelay,no_root_squash,no_subtree_check),這樣就設(shè)置成功了共享目錄。

3、交叉編譯gdb(前提你的系統(tǒng)已經(jīng)安裝了交叉編譯工具鏈)

下載一個gdb源碼包(我的為:gdb-7.0a.tar.bz2),下載地址:在虛擬機(jī)下解壓并編譯:

[root@localhost toolchain]# tar jxvf gdb-7.0a.tar.bz2

解壓后進(jìn)入其目錄,然后

[root@localhost gdb-7.0]# ./configure --target=arm-linux -prefix=/opt/gdb7.0_arm

-prefix=/opt/toolchain表示安裝在/opt/gdb7.0_arm這個目錄下。

[root@localhost gdb-7.0]# make

[root@localhost gdb-7.0]# make install

這樣就安裝成功了,瞧瞧/opt/gdb7.0_arm中有bin、share、lib目錄,進(jìn)入bin目錄可以發(fā)現(xiàn)發(fā)現(xiàn):

修改環(huán)境變量:

在/etc/profile內(nèi)添加新生成的bin文件的路徑,如

export PATH=/opt/gdb7.0_arm/bin:$PATH

并設(shè)置生效:source /etc/profile

4.交叉編譯gdbserver

進(jìn)入/opt/gdb-7.0/gdb/目錄下,可以看到有個gdbserver目錄,進(jìn)入這個目錄,交叉編譯和安裝:

$./configure --target=arm-linux --host=arm-linux

$make

這樣gdbserver就安裝成功了,在此目錄下會生成可執(zhí)行文件gdbserver,將其拷貝至共享目錄/home/NFS。

5.拷貝libthread庫至共享目錄

交叉編譯工具鏈里有一個動態(tài)鏈接庫文件libthread_db-1.0.so,將其拷貝到/home/NFS/lib中(先在共享目錄下建立lib目錄),建立符號鏈接:

$ln -s libthread_db-1.0.so libthread_db.so

$ln -s libthread_db-1.0.so libthread_db.so.1

在目標(biāo)板開始mount之前先將此庫文件加入目標(biāo)板/etc/profile的庫文件搜索路徑LD_LIBRARY_PATH上。

三、目標(biāo)板上mount共享目錄

1.連接好開發(fā)板,設(shè)置好網(wǎng)絡(luò)(開發(fā)板IP:192.168.1.88,Linux系統(tǒng)IP :192.168.1.114,具體地址根據(jù)實(shí)際情況設(shè)定)

2.目標(biāo)板下執(zhí)行:

$mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.1.114:/home/NFS /mnt

mount上后,你可以在目標(biāo)板/mnt目錄下看到共享文件夾NFS,里面的內(nèi)容和Linux系統(tǒng)上的一樣。

四、交叉調(diào)試

1.配置工程

打開Linux系統(tǒng)下的Qt Creator,進(jìn)入Tools->options->Debugger,進(jìn)行如圖所示的配置。

將要調(diào)試的工程(比如說hello)拷貝到共享目錄NFS下,在Qt Creator內(nèi)打開,在左側(cè)projects欄選擇Build configuration for hello為arm模式的Debug(我的是qt_4.7_arm Debug),Edit Build Configuration進(jìn)行同樣配置。

2.啟用gdbserver

將gdbserver拷貝至目標(biāo)板/usr/sbin/目錄下,進(jìn)入/mnt/hello/目錄,執(zhí)行

$gdbserver 192.168.1.114:6666 hello -qws &

在終端顯示運(yùn)行結(jié)果為

$Process hello created; pid = 797

Listening on port 6666

6666為通信端口號,自己設(shè),大于1024便可,其中pid每個人都會有所不同。

3.開始交叉調(diào)試

在Qt Creator菜單欄點(diǎn)擊Debug->Start Debugging->Start and Attach to Remote Application,出現(xiàn)如圖所示界面,按圖進(jìn)行配置。

192.168.1.88是目標(biāo)板的IP地址,端口號6666,arm為i386架構(gòu)。點(diǎn)擊OK,終端出現(xiàn)

Remote debugging from host 192.168.1.114,表示可進(jìn)行交叉調(diào)試了。

總結(jié)

以上是生活随笔為你收集整理的linux系统 qt调试,Linux下Qt Creator远程调试(redhat5+mini6410)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。