[LINUX]gdb简单使用

方法:

  • 1.gdb是命令行代码调试工具:通过命令行进行操作。

  • 2.一些基础命令:(可以调试一个基本的程序,当然可能没什么太大作用)
    [1]启动gdb:gdb 程序名称
    [2]设置断点:break 行号或者break+函数名称
    [3]查看当前设置的所有断点信息:info break;
    [4]设置完断点后运行程序,输入r即可;
    [5]在断点后停止后单步调试,输入n即可;
    [6]打印某个变量:p 变量名称
    [7]如果要继续执行,则输入c
    [8]查看函数堆栈:bt命令
    [9]执行到退出当前函数为止:finish
    [10]执行完毕后退出gdb:按q即可。

  • 3.启动gdb gdb 程序名称就可以了
    还有-s 从指定的文件中读取符号表和-d选项,加入一个源文件的搜索路径

  • 4.帮助查看:由于gdb命令哦很多,很容易忘记,一开始使用建议多查看帮助。
    输入help,就会显示命令类,再次输入help 类名,才能看到每个类中间对应的所有命令。另外如果你只记得一个命令的开头,比如i,那么可以输入i,然后按两次tab,gdb就会罗列出所有i开头的命令
    对于分段式的命令同样适用,比如输入info,按两下 会出来 breakpoint或者bookmark。不仅仅是gdb内部的命令,如果是b +函数名,如果不记得函数全名了,也可以输入前缀,gdb会
    进行自动联想。罗列出所有的函数名称。

  • 5.gdb layout:gdb中的一种窗口显示界面,用于显示调试信息的窗口。Ctrl+x,+2切换成双窗口,+1变成单个窗口。

  • 6.gdb 的r命令后面是可以加参数的,比如只想调试一个用例,可以直接加上gtest的参数就行了。./main_kirin970boston --gtest_filter=Utest_Hal_ReprocessFilter_doTransform.Utest_Hal_ReprocessFilter_doTransform_unsupport_seamlessling_02
    这样就只调试这一个用例。

  • 7.目前的调试方式:list+断点+s进入,然后再list+断点。效率部分是比原来的要低一些的。

  • 8.p命令:输出某个变量的值,可以设置输出格式p/x十六进制,p/u 无符号,还有p/s等输出字符串,具体可以通过help命令进行查看

  • 9.数据断点命令:就是在某个地址被修改或者被读取的时候,打断,可以通过bt查看调用栈,语法就是watch变量名称,或者rwatch(读取时候触发),awatch(读取或者写的时候触发)

  • 10.需要设置环境变量environment才能够正常运行,可以查看init.sh文件中的内容

  • 11.正常的最最常用的测试方式:依次运行如下命令:gdb xxxxx(运行到main断点处),b xxx.cpp:xxx行,r(运行),n(下一步,相当于F10),
    s(进入,相当于F11),p 变量名,打印出对应的变量信息。ctrl+x,切换出对应的代码,然后可以n,回车(回车表示重复上一个步骤),这样就可以完成调试了。
    详见Learn目录下的camera目录中的GDB调试指南.docx文件。

  • 12.进入代码查看窗口后,上下左右键可以进行代码位置的调节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值