DWARF 格式简介

2017-12-10 Sunday     program

也就是 Debugging With Attributed RecordFormats, DWARF ,到目前为止,应该包括了 V1~5 共五个版本,其中 dwarf2 对 dwarf1 的改变很大,而后续的版本基本上是对前者的扩展。

这一格式独立于语言,不过使用比较多的是 C/C++ ,这里简单介绍在 GDB 中,如何对这些调试信息进行组织、实现,并且如何利用调试信息进行 C 语言级别的调试。

简介

一般来说,代码的调试信息要远大于二进制程序本身,包括了可执行程序、动态库等等,一般的 Linux 发行版本会使用类似 debuginfo 的包,作为独立的调试信息。

对应的 debuginfo 包可以从 debuginfo.centos.org 中获取,如果在使用 gdb 时没有加载,除了路径、权限等问题外,可能是版本不匹配。

----- 设置全局的DebugInfo保存目录
(gdb) set debug-file-directory <directory>

----- 查看当前的全局配置目录
(gdb) show debug-file-directory

对于 CentOS 来说,一般保存在 /usr/lib/debug 目录下,

参考

DWARF 格式的详细信息可以参考 www.dwarfstd.org 官网中的介绍吧,包括了一个基础的教程 DWARF Tutorial



如果喜欢这里的文章,而且又不差钱的话,欢迎打赏个早餐 ^_^


About This Blog

Recent Posts

Categories

Related Links

  • RTEMS
    RTEMS
  • GNU
  • Linux Kernel
  • Arduino

Search


This Site was built by Jin Yang, generated with Jekyll, and hosted on GitHub Pages
©2013-2019 – Jin Yang