GDB(四) COFF
2015-06-08 14:26
507 查看
COFF(Common Object File Format)是在Unix上使用的可执行文件、object文件和共享库文件的格式规范。它规定了:
符号调试信息。它由程序里的函数和变量的符号(字符串)名以及用来设置断点和跟踪执行的行号信息组成。
符号名被存储在COFF符号表里。每个符号表项包含一个名字、存储类别、类型、值和段号。不超过8字符的短名字被直接存储在符号表里,更长的名字作为COFF对象末的字符串表里的一个偏移量被存储。
存储类别(storage class)描述符号表示的类型实体,并可能包含外部变量(C_EXT)、自动(栈)变量(C_AUTO)、注册器变量(C_REG)、函数(C_FCN)和许多其它的。符号类型(symbol type)描述了符号实体值的解释,并包含了所以C数据类型的值。
当用恰当的选项编译时,一个COFF object文件将为object文件里的代码段里的每个可能的断点包含行号信息。行号信息有两种形式:
第一种,对于代码里第个可能的断点,行号表项记录了地址和它匹配的行号。
第二种,表项标识一个函数开始的符号表项,使一个断点可以使用函数名来设置。
相对虚拟地址。当一个COFF文件被产生时,它通常不知道它会被载入到内存的哪个地方。文件第一个字节将会载入到的虚拟地址(virtual address)被称为映射基地址(image base address)。文件剩余部分不必被载入到相邻的块里,而是在不同的区域里。
不要把相对虚拟地址(Relative Virtual Address)和标准虚拟地址混淆。一个相对虚拟地址是这个文件被载入到内存的虚拟地址,减去文件映射的基地址。如果文件被逐字地从磁盘映射到内存里,那么RVA会和文件里的偏移量相同,但这很不常见。
注意RVA术语只用在映射文件里的object上。一旦载入到内存,映射基地址被增加,且原始的VA被使用。
符号调试信息。它由程序里的函数和变量的符号(字符串)名以及用来设置断点和跟踪执行的行号信息组成。
符号名被存储在COFF符号表里。每个符号表项包含一个名字、存储类别、类型、值和段号。不超过8字符的短名字被直接存储在符号表里,更长的名字作为COFF对象末的字符串表里的一个偏移量被存储。
存储类别(storage class)描述符号表示的类型实体,并可能包含外部变量(C_EXT)、自动(栈)变量(C_AUTO)、注册器变量(C_REG)、函数(C_FCN)和许多其它的。符号类型(symbol type)描述了符号实体值的解释,并包含了所以C数据类型的值。
当用恰当的选项编译时,一个COFF object文件将为object文件里的代码段里的每个可能的断点包含行号信息。行号信息有两种形式:
第一种,对于代码里第个可能的断点,行号表项记录了地址和它匹配的行号。
第二种,表项标识一个函数开始的符号表项,使一个断点可以使用函数名来设置。
相对虚拟地址。当一个COFF文件被产生时,它通常不知道它会被载入到内存的哪个地方。文件第一个字节将会载入到的虚拟地址(virtual address)被称为映射基地址(image base address)。文件剩余部分不必被载入到相邻的块里,而是在不同的区域里。
不要把相对虚拟地址(Relative Virtual Address)和标准虚拟地址混淆。一个相对虚拟地址是这个文件被载入到内存的虚拟地址,减去文件映射的基地址。如果文件被逐字地从磁盘映射到内存里,那么RVA会和文件里的偏移量相同,但这很不常见。
注意RVA术语只用在映射文件里的object上。一旦载入到内存,映射基地址被增加,且原始的VA被使用。
相关文章推荐
- POJ1226:Substrings(后缀数组)
- Android 5.0 如何正确启用isLoggable(一)__使用详解
- HexEdit 3.0爆破+部份分析
- 一张图帮你看懂 iPhone 6 Plus 的屏幕分辨率
- DataTable转换JSON
- Android之ContextMenu的使用方法以及与OptionMenu的区别(转)
- 关于E-R图的基础理解
- 小米又双叒叕降价了,这次是红米2A
- Java ArrayList源码分析
- iOS开发资源汇总
- Tomcat源码阅读(四)Server
- php开发网站编码统一问题
- Hive 锁 lock
- 基于Spring可扩展Schema提供自定义配置支持
- FFmpeg的HEVC解码器源代码简单分析:概述
- IGRP/EIGRP路由协议
- 小胖说事14--------IOS字体大小,字号的问题 PX转化为UIFont
- FFmpeg的HEVC解码器源代码简单分析:概述
- FreeMarker 处理不存在的变量
- Cookie/Session机制具体解释