Oracle Solaris Studio 12.2:使用 dbx 调试程序

使用独立的调试文件

dbx 允许您在 objcopy 命令(在 Linux 平台上)和 gobjcopy 命令(在 Solaris 平台上)中使用选项,将调试信息从可执行文件复制到独立的调试文件、从可执行文件中删除该信息,以及在这两个文件之间创建链接。

dbx 按照以下顺序搜索独立的调试文件,并从找到的第一个文件中读取调试信息:

例如,要为可执行文件 a.out 创建独立的调试文件,应执行以下操作。

Procedure创建独立的调试文件

  1. 创建包含调试信息的、名为 a.out.debug 的独立调试文件:


    objcopy --only-keep-debug a.out a.out.debug
    
  2. a.out 中删除调试信息:


    objcopy --strip-debug a.out
    
  3. 在两个文件之间建立链接:


    objcopy --add-gnu-debuglink=a.out.debug a.out
    

    在 Solaris 平台上,使用 gobjcopy 命令。在 Linux 平台上,使用 objcopy 命令。

    在 Linux 平台上,可以使用 objcopy -help 命令来确定该平台是否支持 -add-gnu-debuglink 选项。可以使用 cp a.out a.out.debug 命令替换 objcopy 命令的 -only-keep-debug 选项,以便使 a.out.debug 成为完全可执行文件。