zoukankan      html  css  js  c++  java
  • 几则gdb使用技巧

    几则gdb使用技巧

     

    转载时请注明出处:http://blog.csdn.net/absurd/

     

    gdb的功能强大,与带GUI的调试器相比有过之而无不及,使用也就相对复杂一些。一方面是它的亲和力稍差,毕竟是给程序员用的,不用做得傻瓜化。另外一方面它的命令太多,我们常常浅尝辄止,只记得几个常用的命令就知足了,没有充分发挥它的潜力。今天要调试一段ARM汇编代码,按常规方法调试汇编代码非常麻烦,花了点时间看gdb的帮助,发现几个技巧比较有用,这里做个笔记。

     

    1.         使用自定义命令。gdb内置的命令很多,这些命令都遵循unix的一贯原则,每个命令都只有一个基本功能。命令的粒度比较细,可重用性会更高。自己要去组织这些基本命令,以形成功能更强大的命令。这可以用define来实现,如:

    (gdb) define nid           

    Type commands for definition of "nid".

    End with a line saying just "end".

    >ni

    >disassemble $pc $pc+16

    >end

     

    2.         多窗口。GUI调试器可以同时打开多个小窗口,分别显示寄存器、汇编和源代码等。在gdb里也可以做到,但同时最多只能显示两个窗口,试了一下也很方便的。基本命令如下:

    a)         `layout src' 仅显示源代码窗口。

    b)        `layout asm' 仅显示汇编代码窗口。

    c)        `layout split' 显示源代码和汇编代码窗口。

    d)        `layout regs' 显示寄存器和源代码窗口,或者寄存器和汇编代码窗口。

    e)         `layout next` `layout prev' 切换窗口。

    f)         ctrl + L 刷新屏幕。

    g)        `C-x 1' 单窗口模式。

    h)        `C-x 2' 双窗口模式。

    i)          `C-x a' 回到传统模式。

     

    ~~end~~

     

     
  • 相关阅读:
    Linux内存管理 —— 为buddy做准备:MMU, TLB, ZONE【转】
    Linux内存管理 —— 文件系统缓存和匿名页的交换【转】
    linux内存源码分析
    Linux中匿名页的反向映射【转】
    zram 简介【转】
    Linux Swap 与 Zram 详解【转】
    Linux中的mmap映射 [一]【转】
    Linux中的mmap映射 [二]【转】
    python测试开发django-rest-framework-95.文件上传接口开发
    Airtest IDE 自动化测试8
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167830.html
Copyright © 2011-2022 走看看