Sun Studio 12:使用 dbx 调试程序

目标文件装入

将目标 (.o) 文件链接到一起后,链接程序可选择只将摘要信息存储到生成的装入对象中。dbx 可以在运行时使用此摘要信息从目标文件本身(而不是可执行文件)装入其余调试信息。生成的可执行文件占用的磁盘资源较小,但要求在 dbx 运行时能够使用目标文件。

使用 -xs 选项编译目标文件可覆盖此要求,从而使这些目标文件的所有调试信息在链接时都被放入可执行文件中。

如果使用目标文件创建归档库(.a 文件),并且在程序中使用归档库,则 dbx 会根据需要从归档库中提取目标文件。此时不需要原始目标文件。

将所有调试信息放入可执行文件的唯一缺点是会占用更多磁盘空间。由于运行时调试信息并未装入到进程映像中,因此程序运行速度不会降低。

使用 stabs(调试信息的缺省格式)时的缺省行为是使编译器只将摘要信息放入可执行文件中。

DWARF 格式尚不支持目标文件装入。


注 –

记录相同的信息时,使用 DWARF 格式要比使用 stabs 格式紧凑得多。但是,由于将全部信息都复制到可执行文件中,因此 DWARF 信息所占的空间看上去要比 stabs 信息所占的空间大。