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. Sublime Text 高级正则查换替换功能

    有一个需求:把某从mysql 里导出的的数据表 数据里的  Insert语句 转换成 update 语句. 须要把例如以下的语句: insert into `table` (`ID`, `code`, ...

  2. EBS 数据库预克隆日志

    ora02@[/u07/CCTEST02/db/tech_st/11.1.0/appsutil/scripts/CCTEST02_test01] $ T02_test01/StageDBTier_06 ...

  3. git 使用过程(二、创建版本库)

    1.显示当前git所在操作文件路径 命令:pwd  2.改变当前操作路径 命令:cd /e/神马神马的,如果想到当前文件夹的某个子目录下,可以直接输入命令:cd 子目录名称,这样就可以了. 3.创建一 ...

  4. haml、sass简单的解释

    1. Haml 全名为 HTML Abstract Markup Language,主要就是让开发者能够使用缩排的方式撰写 HTML,做到永不忘记关 Tag 的效果. 例如:%h1= "He ...

  5. linux下安装greenplum

    1. 下载 Greenplum Database 源代码 $ git clone https://github.com/greenplum-db/gpdb 2. 安装依赖库 Greenplum Dat ...

  6. Linux怎么设置PostgreSQL远程访问

    原文链接: Linux怎么设置PostgreSQL远程访问 安装PostgreSQL数据库之后,默认是只接受本地访问连接.如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置. ...

  7. Xcode6项目运行在真机上未铺满整个屏幕

    如图 解决见图: 再次运行:

  8. VC命令行编译参数介绍

    CL.exe是控制Microsoft C和C++编译器与链接器的32位工具.编译器产生通用对象文件格式(COFF)对象(.obj)文件.链接器产生可执行文件(.exe)或动态链接库文件(DLL). 注 ...

  9. zzuli求最大值

    1786: 求最大值 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 134  Solved: 28SubmitStatusWeb Board Desc ...

  10. eclipse、MyEclipse实现批量改动文件编码

    在使用eclipse或MyEclipse编程时,常常遇到部分文件打开后出现乱码的情况(特别是在导入项目后) 1:右击项目选择properties->Resource>Other选择UTF- ...