1. 首先要配置emacs文件:

  1. (global-linum-mode t)
  2. (show-paren-mode t)
  3. (global-set-key (kbd "C-s") 'save-buffer)
  4. (global-set-key (kbd "RET") 'newline-and-indent)
  5. (global-set-key [f9] 'compile)
  6. (global-set-key [C-f7] 'gud-gdb)
  7. (global-set-key (kbd "C-z") 'undo)
  8. (global-set-key (kbd "C-c") 'kill-ring-save)
  9. (global-set-key (kbd "C-v") 'yank)
  10. (global-set-key (kbd "C-a") 'mark-whole-buffer)
  11. (global-set-key (kbd "C-y") 'kill-whole-line)
  12. (custom-set-variables
  13. ;; custom-set-variables was added by Custom.
  14. ;; If you edit it by hand, you could mess it up, so be careful.
  15. ;; Your init file should contain only one such instance.
  16. ;; If there is more than one, they won't work right.
  17. '(inhibit-startup-screen t)
  18. '(show-paren-mode t))
  19. (custom-set-faces
  20. ;; custom-set-faces was added by Custom.
  21. ;; If you edit it by hand, you could mess it up, so be careful.
  22. ;; Your init file should contain only one such instance.
  23. ;; If there is more than one, they won't work right.
  24. '(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 113 :width normal :foundry "bitstream" :family "Courier 10 Pitch")))))

就是C-c, C-v, C-a, C-s, C-z, C-F7 和 F9的快捷键设置

2. 程序编译

先F9,输入 g++ -o xxx xxx.cpp -g -Wall (-Wl,-stack=1000000) 编译

C-F7调出gdb

3. gdb调试命令

先打:

  1. b main
  2. r

进入调试,各种调试命令:

单步执行:

n 表示next执行下一行,会跳过函数

s 同理,但不会跳过,而且会进入系统函数= =

fin 表示跳出当前函数,且返回函数值 ex:"Value returned is $1 = (const int &) @0x8058cfc: 1"

b x if xxx 调到x行,并且满足xxx

查看变量:

p x 查看当前变量x的值(同时可以查看数组,显示就和P的一样。。)

disp x 永久查看变量x的值

und 一次性去除所有查看信息

断点:

b x 在line x设置一个断点

c 跳到下一个断点

d 去掉所有断点

其他:

k 杀死进程

q 退出gdb

两次C-c 死循环时退出程序

set print pretty on/off 调试的时候看变量的格式修改

(p.s.  这里的C代表Ctrl键)

NOI Linux下Emacs && gdb调试方法的更多相关文章

  1. LINUX下的gdb调试方法

    首先对目标文件进行编译 例如: gcc test.c -o test 这时会生成一个文件test,然后我们就可以对test进行调试了 示例: gdb test 好了以后是设定断点 示例: break ...

  2. linux下core文件调试方法

    http://www.cnblogs.com/li-hao/archive/2011/09/25/2190278.html 在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映 ...

  3. linux下core文件调试方法(转载)

    转自于:http://blog.csdn.net/fcryuuhou/article/details/8507775 在程序遇到段错误不寻常退出时,一般是访问内存出错.但是不会给出程序哪里出现的问题, ...

  4. linux下的程序调试方法汇总

    搞电子都知道,电路不是焊接出来的,是调试出来的.程序员也一定认同,程序不是写出来的,是调试出来的.那么调试工具就显得尤为重要,linux作为笔者重要的开发平台,在linux中讨论调试工具主要是为那些入 ...

  5. Linux下用gdb 调试、查看代码堆栈

      Linux中用gdb 查看代码堆栈的信息 core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的. 调试的话输入: gd ...

  6. php 502 无错误行和报错文件的情况下使用gdb调试方法

    lnmp环境 gdb  /usr/local/php5.2/bin/php-cgi  /tmp/coredump-php-cgi.20503 source /home/tmp/lnmp1.4-full ...

  7. Linux中的gdb调试方法总结

  8. linux下使用gdb对php源码调试

    title: linux下使用gdb对php源码调试 date: 2018-02-11 17:59:08 tags: --- linux下使用gdb进行php调试 调试了一些php的漏洞,记录一下大概 ...

  9. Linux下使用GDB进行调试

    Linux下使用GDB进行调试的常用命令记于此. $ sudo su # g++ -g test.cpp -o test -pthread # gdb test         <------- ...

随机推荐

  1. @Transactional(rollbackFor=Exception.class)的使用

    转载: java阿里巴巴规范提示:方法[edit]需要在Transactional注解指定rollbackFor或者在方法中显示的rollback. 先来看看异常的分类 error是一定会回滚的 这里 ...

  2. Linux中Qt的安装

    1.下载Ot安装包 Qt5.30的下载地址如下,在网页中打开找到需要的资源,下载.run格式的安装软件. http://download.qt.io/archive/qt/5.3/5.3.0/qt-o ...

  3. Greatest Common Increasing Subsequence

    /*HDU1423 最长公共递增*/ #include <stdio.h> #include <string.h> #include <iostream> usin ...

  4. Spring事务回滚

    配置事物: @Configuration /**强制使用cglib代理时就把proxy-target-class设为true.*/ @EnableTransactionManagement(proxy ...

  5. 20145312 《Java程序设计》第十周学习总结

    20145312 <Java程序设计>第十周学习总结 学习笔记 Chapter 17反射与类加载器 17.1 运用反射 .class文档反应了类基本信息,因而从Class等API取得类信息 ...

  6. 分布式系列 - dubbo服务发布

    单元测试OK,封装为Dubbo服务.   添加依赖 pom.xml   <properties>       <dubbo.version>2.5.3</dubbo.ve ...

  7. JAVA基础补漏--泛型通配符

    泛型通配符只能用于方法的参数 不能用对象定义 public class Test { public static void main(String[] args) { ArrayList<Str ...

  8. AVL模板

    感谢此博客 #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define de(x) cout &l ...

  9. 解题报告:poj1083 Moving tables

    2017-09-02 19:49:59 writer:pprp 题意说明: 比较简单的题,一开始被吓到了,后来才发现,其实可以用很简单的方法就可以解决: 就是在这样的房间中如果在i 和 j 中之后的1 ...

  10. 淘海外分发Job 多线程demo

    using System;using System.Collections.Generic;using System.Configuration;using System.Diagnostics;us ...