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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

qt单步调试linux程序,用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行

發布時間:2023/12/19 linux 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qt单步调试linux程序,用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

本人交叉編譯環境 Ubuntu 10.04(虛擬機),編譯工具鏈 arm-hisiv100nptl-linux,Qt 4.8.5 ,QtCreator1.3.1

1、在虛擬機Ubuntu 10.04上,安裝GDB調試工具之前,要安裝預處理模塊:

sudo apt-get install texinfo

sudo apt-get install libncurses5-dev

sudo apt-get install m4

sudo apt-get install flex

sudo apt-get install bison

2、安裝GDB調試工具

2.0 下載gdb-7.4.tar.gz(http://www.gnu.org/software/gdb/download/)

手動到網頁下載

2.1、將gdb-7.4.tar.gz拷貝到任意的位置

2.2、解壓gdb-7.4.tar.gz

tar -zxvf gdb-7.4.tar.gz

2.3、編譯arm-linux-gdb(下面/usr/local是安裝目錄,可自行更改)

到目錄gdb-7.4下

cd gdb-7.4

$./configure --target=arm-hisiv100nptl-linux --prefix=/usr/local/arm-gdb -v

target指明編譯生成的GDB用于調試ARM-LINUX程序,prefix指明安裝目錄

$make

#make install

#sudo gedit /etc/profile

export PATH=$PATH:/usr/local/arm-gdb/bin --把arm-linux-gdb加入環境變量

這樣就可以在/usr/local/arm-gdb/bin目錄下看到如下三個可執行文件

arm-hisiv100nptl-linux-gdb

arm-hisiv100nptl-linux-gdbtui

arm-hisiv100nptl-linux-run

2.4、編譯GDB Server

#cd ./gdb/gdbserver? ?(進入gdb-7.4目錄里執行該句)

#export PATH=$PATH:/usr/local/arm-gdb/bin

#./configure --target=arm-hisiv100nptl-linux

#make CC=arm-hisiv100nptl-linux-gcc //編譯用于目標機的stub程序生成gdbserver是GDB客戶端程序,在板子上運行。

此時發現有錯誤,打開config.h文件,把相應的行注釋掉:

//#define HAVA_SYS_REG_H

//define HAVE_DECL_ADDR_NO_RANDOMIZE 1

有的人說只需要注釋一行就可以了,我的需要注釋這兩行

注釋完后,保存并關閉config.h,重新執行:

make clean

make CC=arm-hisiv100nptl-linux-gcc。成功后會生成可自行程序gdbserver。

2.5、將gdbserver通過你搭建的環境下載到開發板(我的環境是/mnt/nfs/samples),與你的可自行程序放在一個文件夾下

3、以sample_venc為例,構建Qt工程:(我的SDK路徑是:/root/hixx/Hi3520D_SDK_V1.0.3.2/)

3.1、在$SDK_PATH/sample/下建立文件夾,我命名為qt_venc。拷貝$SDK_PATH/sample/venc/sample_venc.c到qt_venc。打開命令行,進入qt_venc文件夾,執行qmake -project。這樣就自動生成了Qt工程文件。用QtCreator打開這個工程文件qt_venc.pro,把工程文件修改如下:(注意文件路徑各人情況不同,請酌情修改)

# #####################################################################

# Automatically generated by qmake (2.01a) ?? 6? 9 16:55:18 2015

# #####################################################################

TEMPLATE = app

TARGET =

DEPENDPATH += .

INCLUDEPATH += . \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/include \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/sample/common \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/extdrv/tw2865 \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/extdrv/tw2960 \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/extdrv/tlv320aic31 \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/extdrv/cx26828

DEFINES += hi3520D \

HICHIP=0x3520D100 \

HI_DEBUG \

HI_XXXX \

DEMO

# Input

SOURCES += sample_venc.c \

../common/sample_comm_vpss.c \

../common/sample_comm_vo.c \

../common/sample_comm_vi.c \

../common/sample_comm_venc.c \

../common/sample_comm_vdec.c \

../common/sample_comm_vda.c \

../common/sample_comm_sys.c \

../common/sample_comm_audio.c \

../common/loadbmp.c

LIBS += /root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libmpi.a \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libhdmi.a \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libVoiceEngine.a \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libaec.a \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libresampler.a \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libanr.a \

/root/hixx/Hi3520D_SDK_V1.0.3.2/mpp/lib/libjpeg.a

CONFIG += debug

########################## pro??文件結束? ?###############

總結

以上是生活随笔為你收集整理的qt单步调试linux程序,用Qt 调用GDB调试 Arm程序 详细步骤----可单步执行每一行的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。