Linux环境中 Android NDK中gdb调试详解

gdb调试

编译加上-g参数

gcc test1.c -g -o test1

进入调试

gdb test1

开始调试

start

显示代码

list-简写l

list 函数名称(查看函数内容)

list 行数(查看某行代码)

执行下一步

next-简写n

查看变量

print 变量名-简写p

进入到某个函数

step-简写s

设置断点

break 行号(gdb中的行号)-简写b

全速运行

continue-遇到断点会停止-简写b

查看断点信息

info breakpoints

删除断点

delete breakpoints 断点编号

修改变量的值

set var 变量=值

程序调用堆栈

当前函数之前的所有已调用函数列表,每一个都分配一个“帧”,最近调用的函数在0号帧里

backtrace-简写bt

切换栈帧

frame 1(查看指定栈帧的变量)

自动显示

display 变量名

取消自动显示

undisplay 行号(自动显示的行号)

查看内存布局

x /20 地址

x /20 buff-查看buff数组的前20个元素

程序非正常退出,如何查看错误?

1.ulimit -a 查看core文件是否分配大小

2.ulimit -c 1024 创建的core文件大小为1024字节

3.gcc test2.c -g -o test2 编译链接得到带有-g选项的可执行程序

4../test2 执行程序,会生成core日志文件

5.gdb test2 core 打开日志文件,定位错误信息到具体的代码行数

你可能感兴趣的:(Linux环境中 Android NDK中gdb调试详解)