嵌入式,代码调试----GDB扫盲

本文为Android嵌入式学习系列笔记 三

GDB, 是GNU项目的调试工具(the GNU Project debugger),G—>GNU,DB--->debuger, gdb允许我们观察被调试程序在运行时的内部状态,也可以查看一个程序crash时状态。

gdb可以做四种操作:

1.运行程序,标识任何可能影响程序运行行为的事物;

2.支持断点调试;

3.检查程序停止时的状态;

4.支持改变变量的值;

gdb下载http://www.gnu.org/software/gdb/download/

通过gdb yourprogram可以启动gdb调试,启动gdb之后可以通过quit或Ctrl - d退出,gdb还可以调试在运行中的进程gdb program 1234 ,其中1234标识进程的id。

在gdb调试过程中,如果你突然想执行摸个shell命令,可以直接键入shell yourcommand,也就是在命令前加上shell,同理也可以执行make xxx

需要注意的是:

源文件编译后切包含调试信息才能够被gdb调试,通常是gcc加上-g参数表示编译时附带调试信息,当然还可以再跟上-o来指定输出文件,也可以不指定采取默认。

 

调试相关参数

run/r 启动gdb

step/s 进入,相当于step into

next/n 下一步, 相当于step over

continue/c 继续执行

break place 在place处加断点,place可以是行号,函数名,多文件调试时,place可以加上文件名用于区别

print x 输出变量x的当前值

info break/ i b 显示所有断点

delete break place 删除断点

 

references:

1GDB homepage.http://www.gnu.org/software/gdb/

posted @   小文字  阅读(1445)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示