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的更多相关文章

  1. C语言-gdb调试工具详解

    回车 重复上一次命令 产生可调试的可执行文件:gcc -g main.c -o main, 必须加上-g选线, 表示在可执行文件中加入源文件信息, 但并不是将源文件嵌入可执行文件, 所以在调试时必须保 ...

  2. GDB调试器

    /*this project used for gdb debug c programs*//*At first,using compile command turn out the executab ...

  3. GDB之调试器用法

    GDB 完成的作用: 启动程序,可以按照工程师自定义的要求随心所欲的运行程序 让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式 当程序被停住时,可以检查此时程序中所发生的事,并追索上文 动 ...

  4. python调试方法

    之前调试python程序都是用print参数,感觉有点弱爆啊,最近发现python也有类似C语言gdb的工具pdb,记录下pdb的使用方法和心得. 先找了段简单的测试程序: 复制代码 !/usr/bi ...

  5. 使用GDB调试Go语言

    用Go语言已经有一段时间了,总结一下如何用GDB来调试它! ps:网上有很多文章都有描述,但是都不是很全面,这里将那些方法汇总一下 GDB简介  GDB是GNU开源组织发布的⼀一个强⼤大的UNIX下的 ...

  6. GDB调试D语言

    GDB7.2后开始支持对D语言的调试 GUI前端 http://beej.us/guide/bggdb/#compiling GDB教程 http://blog.csdn.net/haoel/arti ...

  7. windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境

    windows下用eclipse+goclipse插件+gdb搭建go语言开发调试环境   http://rongmayisheng.com/post/windows%E4%B8%8B%E7%94%A ...

  8. Linux环境下使用gcc编译,gdb反汇编C语言程序

    使用虚拟机 VMware Workstation 10 Linux环境:Ubuntu 14.04 LTS Server amd64   我把过程截图如下. 首先是hello world程序: 备注: ...

  9. 解决Linux c语言运行时候“段错误 (核心已转储)”问题-采用gdb 解决

    编译没有警告,没有错误,运行就打印 段错误 (核心已转储) 网上找了一下,都是各种问题,都推荐用gdb 调试解决,咱也来趁机学习gdb一下.   gcc+gdb)输入命令行 运行 sudo apt-g ...

随机推荐

  1. 将string当字节流使

    string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流.给一个string变量赋值有多种方法: 1) 拷贝构造函数 2) 等号赋值函数 3) append成员函数 4) push ...

  2. javascript使用消息框

    之前很多地方都用过alert,它的作用是弹出一个警告框,我们调用的方法是alert("输入的内容");其实更正确的写法是 window.alert("输入的内容" ...

  3. linux配置nfs服务

    简单介绍: unix/linux系统一种远程文件文件夹共享的服务,能够把某一个远程的文件文件夹共享到本地,进而像操作本地文件一样,操作这个远程的文件夹. 比如:a主机作为服务端,共享出来test1这个 ...

  4. HDU 4825 Xor Sum 字典树+位运算

    点击打开链接 Xor Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) ...

  5. ceph源码之一

    转自于:http://blog.csdn.net/changtao381/article/details/8698935 一.概述: 其结构如下:在src 里, 网络通信:  msg  里面 包括了网 ...

  6. 【Hibernate】set排序

    使用hibernate进行一对多操作的时候,普遍使用HashSet进行操作.但是HashSet是无序集合,对此可以使用TreeSet进行排序. 1.将HashSet改为TreeSet private ...

  7. 【Android】ScrollView+GridView 显示问题

    在使用Android的ScrollView里面嵌套GridView时,设置android:layout_height="wrap_content"属性,运行界面的效果不会出现全部数 ...

  8. Codeforces Round #316 (Div. 2A) 570A Elections

    题目:Click here #include <bits/stdc++.h> using namespace std; typedef long long ll; const int IN ...

  9. uboot编译: uboot编译配置和编译过程

    jz2440: 韦东山Linux视频第1期_裸板_UBoot_文件系统_驱动初步\第09课第2节 u-boot分析之Makefile结构分析.WMV <嵌入式linux完全开发手册> 15 ...

  10. BZOJ 2157: 旅游( 树链剖分 )

    树链剖分.. 样例太大了根本没法调...顺便把数据生成器放上来 -------------------------------------------------------------------- ...