`
haoningabc
  • 浏览: 1442965 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gdb emacs

阅读更多
参考
http://www.cnblogs.com/qlwy/archive/2012/06/04/2535297.html
http://blog.csdn.net/liigo/article/details/582231


[root@node11 ~]# cat gdb-sample.c
#include <stdio.h>

int nGlobalVar = 0;

int tempFunction(int a, int b)
{
  printf("tempFunction is called, a = %d, b = %d \n", a, b);
  return (a + b);
}

int main()
{
  int n;
  n = 1;
  n++;
  n--;

  nGlobalVar += 100;
  nGlobalVar -= 12;

  printf("n = %d, nGlobalVar = %d \n", n, nGlobalVar);

  n = tempFunction(1, 2);
  printf("n = %d", n);

  return 0;
}
[root@node11 ~]# 


emacs gdb-sample.c
编译
m-x compile
Compile command: gcc -o gdb-sample -g gdb-sample.c
gdb模式
m-x gdb
Run gdb (like this): gdb -i=mi gdb-sample
gdb的多窗口
M-x gdb-many-windows
b main
如果乱了使用
M-x gdb-restore-windows

每次都查看的变量值
display n




命令 意义 用法
list 从第一行开始列出源码(默认10行)   l
  l 3 (开始行)
break
设置断点。两可以使用“行号”“函数名称”“执行地址”等方式指定断点位置。
其中在函数名称前面加“*”符号表示将断点设置在“由编译器生成的prolog代码处”。如果不了解汇编,可以不予理会此用法。

  b <行号>
  b <函数名称>
  b *<函数名称>
  b *<代码地址>

run 开始调试程序   r
continue 继续执行被调试程序,直至下一个断点或程序结束。   c
clear 删除特定行的断点   clear <行号>
delete 删除断点,编号从1开始   d <编号>
next line 执行一行源程序代码,此行代码中的函数调用也一并执行。   n
step line 执行一行源程序代码,如果此行代码中有函数调用,则进入该函数   s
until 结束当前循环   until
print 可以检查各个变量的值,数组的值,以及函数等 print p (p为变量名)
print $1 ($1为历史记录变量,在以后可以直接引用 $1 的值)
显示数组: p <数组名>
显示数组元素:p <*数组指针>
显示数组int a[N]的特定值:
① p *a@10
② p (int [10])*10
whatis 可以显示某个变量的类型 whatis p
info 用于显示各类信息 如:info b 显示断点信息
info r 寄存器信息
info local 显示当前函数中的局部变量信息
info prog 显示被调试程序的执行状态
quit 退出gdb调试 q
  • 大小: 49.2 KB
分享到:
评论

相关推荐

    using gdb in emacs

    在emacs中使用gdb,网页格式,经典。

    Emacs下用GDB调试

    介绍在Emacs下如何使用GDB进行调试。

    vi+Emacs+GCC+Make+GDB+Bash经典书籍8

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    vi+Emacs+GCC+Make+GDB+Bash经典书籍6

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    emacs-gdb:GNU Emacs的GDB图形界面

    emacs-gdb:GNU Emacs的GDB图形界面

    vi+Emacs+GCC+Make+GDB+Bash经典书籍

    The.Definitive.Guide.to.GCC.2nd.Edition.2006.pdf Debugging+With+Gdb,+9Th+Ed.pdf Learning_GNU_Emacs_Third_Edition.chm Linux.Commands.Editors.and.Shell.Programming.chm ...Emacs,GCC,Make,GDB,Bash

    vi+Emacs+GCC+Make+GDB+Bash经典书籍4

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    vi+Emacs+GCC+Make+GDB+Bash经典书籍7

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    vi+Emacs+GCC+Make+GDB+Bash经典书籍3

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    vi+Emacs+GCC+Make+GDB+Bash经典书籍1

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.如Debugging+...

    vi+Emacs+GCC+Make+GDB+Bash经典书籍2

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    vi+Emacs+GCC+Make+GDB+Bash经典书籍5

    这些书籍涵盖了从vi,emacs(编辑器), gcc(编译器), make(工程项目管理), gdb(调试),bash(使用最广泛的shell)等unix环境下开发所需的大部分工具的基本使用和高级功能等.基本上是某方面最经典最权威的著作.(还有一本是...

    gnu emacs-24.3

     收发电子邮件 通过FTP/TRAMP编辑远程档案 通过Telnet登录主机 上新闻组 登陆IRC和朋友交流 查看日历 撰写文章大纲 对多种编程语言的编辑 调试程序,结合GDB,EDebug等。支持C/C++,Perl,Python,Lisp等等 玩游戏 ...

    emacs的调试界面像VC一样

    这个功能插件可以使emacs的调试界面像VC一样,有watch, stacktrace等窗口,真正实现图形化gdb.

    Debugging with GDB --2002年5.11

    Using GDB under GNU Emacs GDB Annotations r What is an Annotation? r The Server Prefix r Values r Frames r Displays r Annotation for GDB Input r Errors r Information on Breakpoints r Invalidation ...

    emacs c++开发工具集

    这个文件里面包含了四个版本的cedet,ecb2.40,display-line-number,gdb包,还有本人总结的安装过程。如果有不明白的还可以去http://cedet.sourceforge.net/setup.shtml上面看一下。 在这个包里面,cedet是cvs版的,...

    cdb-mi:Emacs中的WinDbg界面,例如GDB-MI

    具有emacs的cdb调试器接口,例如gdb-mi cdb-mi为emacs中的cdb公共行接口实现了windbg的基本功能,因此您可以将emacs用作在Windows中调试Windows应用程序的替代接口,并进行增强以满足您的自定义要求。 特征 缓冲区...

    vim 7.3源码(支持vimgdb)

    vim 7.3最新源码 补丁到7.3.370 并带有vimgdb补丁(编译参数--enable-gdb)和支持7.3的vimgdb

    emacs编辑工具学习资料

    【Linux】Emacs_教程中文版、elisp入门、emacs_vim快速入门、emacs_学习笔记_-_初级教程、Emacs教程初步、Emacs生活、Emacs学习笔记

Global site tag (gtag.js) - Google Analytics