c语言,gdb
Get gdb call stack http://blog.csdn.net/zoufeiyy/article/details/1490241
Debugging with GDB - Examining the Stack http://web.mit.edu/gnu/doc/html/gdb_8.html
()准备: gcc -g
##########################################################################################
CFLAGS += -I.. -g
msview: msview.o
$(CC) $(CFLAGS) -o $@ msview.o $(LDFLAGS) $(LDLIBS)
##########################################################################################
# Standard object building
.c.o:
$(CC) $(CFLAGS) -g -c $< -o $@
##########################################################################################
# Standard object building for dynamic library components using -fPIC
.c.lo:
$(CC) $(CFLAGS) -g -fPIC -c $< -o $@
##########################################################################################
()break
$ gdb ./msview
(gdb) break unpack.c:
(gdb) run data
()查看调用堆栈
(gdb) bt
# msr_unpack (record=0x7ffff7ed2010 "000001D", ' ' <repeats times>, "\a\262", reclen=,
ppmsr=0x7fffffffe210, dataflag= '\001', verbose= '\000') at unpack.c:
# 0x0000000000417320 in msr_parse (record=0x7ffff7ed2010 "000001D", ' ' <repeats times>, "\a\262",
recbuflen=, ppmsr=0x7fffffffe210, reclen=, dataflag= '\001', verbose= '\000')
at parseutils.c:
# 0x000000000040311a in ms_readmsr_main (ppmsfp=0x7fffffffe1a0, ppmsr=0x7fffffffe210,
msfile=0x7fffffffe66b "data", reclen=, fpos=0x0, last=0x0, skipnotdata= '\001',
dataflag= '\001', selections=0x0, verbose= '\000') at fileutils.c:
# 0x0000000000401d6e in ms_readmsr (ppmsr=0x7fffffffe210, msfile=0x7fffffffe66b "data", reclen=-,
fpos=0x0, last=0x0, skipnotdata= '\001', dataflag= '\001', verbose= '\000') at fileutils.c:
# 0x00000000004017a2 in main (argc=, argv=0x7fffffffe3b8) at msview.c: 断点打在 msr_unpack,npack.c:
--msr_parse parseutils.c:
--ms_readmsr_main fileutils.c:
--main msview.c:
GDB调试器用法 https://i.cnblogs.com/EditPosts.aspx?postid=4778015
看内存: x
(gdb) x/10xb 0x400703 以十六进制方式查看内存地址0x400703开始10个字节的value。
参考:
1. 通过 GDB 学习 C 语言 http://blog.jobbole.com/87482/
2. Linux gdb设置和管理断点 http://www.cnblogs.com/rosesmall/archive/2012/04/13/2445527.html
3.Vim与GCC和gdb完美组合 http://www.cnblogs.com/Shirlies/p/3278937.html
4. GDB使用基础(转载) http://bbs.21ic.com/blog-678712-84132.html
c语言,gdb的更多相关文章
- C语言-gdb调试工具详解
回车 重复上一次命令 产生可调试的可执行文件:gcc -g main.c -o main, 必须加上-g选线, 表示在可执行文件中加入源文件信息, 但并不是将源文件嵌入可执行文件, 所以在调试时必须保 ...
- GDB调试器
/*this project used for gdb debug c programs*//*At first,using compile command turn out the executab ...
- GDB之调试器用法
GDB 完成的作用: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式 当程序被停住时,可以检查此时程序中所发生的事,并追索上文 动 ...
- python调试方法
之前调试python程序都是用print参数,感觉有点弱爆啊,最近发现python也有类似C语言gdb的工具pdb,记录下pdb的使用方法和心得. 先找了段简单的测试程序: 复制代码 !/usr/bi ...
- 使用GDB调试Go语言
用Go语言已经有一段时间了,总结一下如何用GDB来调试它! ps:网上有很多文章都有描述,但是都不是很全面,这里将那些方法汇总一下 GDB简介 GDB是GNU开源组织发布的⼀一个强⼤大的UNIX下的 ...
- GDB调试D语言
GDB7.2后开始支持对D语言的调试 GUI前端 http://beej.us/guide/bggdb/#compiling GDB教程 http://blog.csdn.net/haoel/arti ...
- windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境
windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境 http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A ...
- Linux环境下使用gcc编译,gdb反汇编C语言程序
使用虚拟机 VMware Workstation 10 Linux环境:Ubuntu 14.04 LTS Server amd64 我把过程截图如下. 首先是hello world程序: 备注: ...
- 解决Linux c语言运行时候“段错误 (核心已转储)”问题-采用gdb 解决
编译没有警告,没有错误,运行就打印 段错误 (核心已转储) 网上找了一下,都是各种问题,都推荐用gdb 调试解决,咱也来趁机学习gdb一下. gcc+gdb)输入命令行 运行 sudo apt-g ...
随机推荐
- NOIP2015
现在来总结一下. 斗地主 这题的题目描述感觉不太清晰,当时有很多人去问,但都没有得到任何回应.好吧,虽然我也是似懂非懂,但是就算看清楚了题目又能怎么样呢. 首先这题只能够搜索吧,或者说是DP,不过有很 ...
- Palindrome(最长回文串manacher算法)O(n)
Palindrome Time Limit:15000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit ...
- .NET通用权限系统快速开发框架源代码
有兴趣的朋友欢迎加群讨论:312677516 一.开发技术:B/S(.NET C# ) 1.Windows XP以上 (支援最新Win 8) 2.Microsoft Visual Studio 201 ...
- 移动端rem,scale动态设置
pt:物理像素(电容屏上像素块个数) px:逻辑像素.设备独立像素 高清屏:1px = 4pt 普通屏:1px = 1pt dpr:设备像素比:(某一方向上)物理像素/逻辑像素 通常设置1rem=屏幕 ...
- Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试
Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...
- 转化为用欧几里得算法判断互质的问题D - Wolf and Rabbit
Description There is a hill with n holes around. The holes are signed from 0 to n-1. A rabbit must h ...
- BZOJ 4034: [HAOI2015]T2( 树链剖分 )
树链剖分...子树的树链剖分序必定是一段区间 , 先记录一下就好了 ------------------------------------------------------------------ ...
- PHP面向对象基础实例
<?phpclass marine{ public $blood = 50; //剩余的血 public $kills = 0; //杀敌数量 static $all_num = 0;//兵的数 ...
- javascript时间函数
//时间函数 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完 ...
- Ubuntu无法进入图形界面及VirtualBox扩容的解决方案
升级Ubuntu 12.04后出现“Ubuntu is running in low-graphics mode?”,无法进入图形界面,而且给了一些选项,发现其他几个都没有用,最终只能使用low-gr ...