当前位置:   article > 正文

gdb调试-总结_gdb 设置lib

gdb 设置lib

GDB调试
概要
    coredump是linux原生的概念,目前有很多工具可以支持coredump调试。其中gdb/trace32都可以支持。
    coredump包含进程空间的内存,如果在加上含有调试信息的lib/程序,那么可以还原出当时异常的场景,这时你可以查看寄存器内容,调用栈,变量和内存等等。这对分析问题非常有帮助。
    下面我们会一一介绍gdb和trace32如何调试coredump。
1. gdb (GNU debugger)
(1). 概述
    GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具
    官网: http://www.gnu.org/software/gdb/ (可以下载到工具和文档)
(2). 功能
    启动或连接程序,可以按照你的自定义的要求随心所欲的运行程序。
    可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)。
    当程序被停住时,可以检查此时你的程序中所发生的事。
    动态的改变你程序的执行环境。
(3). 调试方法
    在线调试(需要在eng build版本)
        1. 可以用gdb直接启动一个程序调试。
        2. 对一个已经运行的程序用gdb attach调试。
    离线调试(借助coredump)
        就是本章节的重点。
(4). 工具来源
    Android NDK: http://developer.android.com/sdk/ndk/index.html。
    在ndk安装目录下的toolchains/arm-linux-androideabit-$version/prebuilts/linux-x86/bin/arm-linux-androideabi-gdb
    另外还可以从codebase里找到,在alps/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-$version/bin/arm-linux-androideabi-gdb
    【注意】不要使用PC预装的gdb,android有对gdb做修改。
2. 离线调试
    gdb离线调试coredump,一定要有这个程序的symbols文件才行。你可以这样启动gdb:
        arm-linux-androideabi-gdb <program> PROCESS_COREDUMP
    gdb有一些启动参数可以配置:
        -symbols <f

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/211477
推荐阅读
相关标签
  

闽ICP备14008679号