GDB 带参调试笔记
来源:互联网 发布:js中string的方法 编辑:程序博客网 时间:2024/06/10 13:12
最初学GDB调试时是参考皓哥的BLOG里做的:http://blog.csdn.net/haoel/article/details/2879
开发调试过程中,陆陆续续接触到一些新的调试场景,记录如下:
/*GDB测试*/#include <stdio.h>#include <stdlib.h>#include <string.h>struct Person{ int Height; int age;};int main(int argc,char **argv){ struct Person s_body; memset(&s_body,0,sizeof(s_body)); s_body.Height = atoi(argv[1]); s_body.age = atoi(argv[2]); printf("身高:%d\n",s_body.Height); printf("年龄:%s\n",s_body.age); return 0; }
代码编译:gcc -g gdbtst.c
使用GDB 进行调试:
gdb a.out(gdb)break 11 //设置断点位置在11行(gdb)set args 170 65 //设置程序运行时的命令行参数(gdb)r //运行程序
结果出现了错误
Program received signal SIGSEGV, Segmentation fault.
0x00000033f0e480ac in vfprintf () from /lib64/libc.so.6
直接输入
(gdb)where
可以看出错误产生的地方。但是在调试过程中经常遇到一些结构体显示错乱的问题,查看起来比较消耗查克拉,所以查了一下发现GDB有很多关于显示的设置,如
(gdb)set print pretty on
然后在 p 结构体
就可以比较好的显示出成员变量的值了。
0 0
- GDB 带参调试笔记
- gdb 带参数调试
- gdb 带参数调试
- gdb带参数调试
- gdb带参数调试
- GDB带参数调试
- gdb带参数调试
- gdb 带参数调试
- gdb带参数调试
- gdb带参数调试程序
- gdb调试带参数程序
- gdb调试带参数程序
- GDB调试带参数程序
- GDB调试带参数程序
- gdb调试带参数程序
- gdb调试带参数程序
- gdb调试带参数程序
- GDB调试带参数程序
- tableView上有多个输入框时候,如何不让键盘挡住输入框
- 字符串匹配之KMP 算法
- myBatis源码之Executor、BaseExecutor和CachingExecutor
- Java中如何遍历Map对象的4种方法
- app annie
- GDB 带参调试笔记
- Javascript面向对象及组件开发(二)面向对象的写法
- mysql查询今天、昨天、7天、近30天、本月、上一月 数据
- Swift实现的iOS常用手势识别Demo
- MIPS
- MeidaPlayer音效测试用例
- Android 启动 Activity和一键退出应用的的最佳方法
- android阅读器里的 txt 文本处理分页功能的实现:
- 书-Programming Game AI by Example