linux GDB调试

本文介绍了如何使用GDB进行程序调试,包括启动GDB、在特定函数上设置断点、查看断点信息、启用/禁用断点、删除断点、执行程序、查看调用堆栈以及单步调试的步骤。这有助于开发者定位和解决问题。
摘要由CSDN通过智能技术生成

启动gdb

gdb ./可执行文件.exe

添加断点( 指令 “b MainWindow::init()” 前的“(gdb)” 表示已经进入gdb调试模式)

// 在MainWindow::init() 函数处添加断点
(gdb) b MainWindow::init()

查看断点

// 查看断点信息(info b)
(gdb) info b
Num     Type           Disp Enb Address    What
1       breakpoint     keep y   0x000b38ac <MainWindow::init()+12>
                            y 表示断点 yes enable

去使能断点

// 去使能序号为1的断点
disable 1

// 查看断点
(gdb) info b
Num     Type           Disp Enb Address    What
1       breakpoint     keep n   0x000b38ac <MainWindow::init()+12>
                            n 表示断点not enable

// 使能序号为1的断点
enable 1

删除断点

// 删除序号为1的断点
(gdb) del 1

执行程序

(gdb) r

查看堆栈

(gdb) bt
#0  0x000b38ac in MainWindow::init() ()
#1  0x000b2f74 in MainWindow::initWindow() ()
#2  0x000b1832 in anim_size_cb(void*, int) ()
#3  0x001bdd9c in anim_timer ()
#4  0x001c26b6 in lv_timer_handler ()
#5  0x0001f2da in main ()

进入函数(如果step进不去函数内部,编译程序时应该没有加-g)

(gdb) s

单步调试

(gdb) n

退出函数(不想在函数内调试了)

(gdb) finish

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值