Oracle® Developer Studio 12.5:使用 dbx 调试程序

退出打印视图

更新时间: 2016 年 6 月
 
 

mmapfile 命令

mmapfile 命令用于查看核心转储中丢失的内存映射文件内容。仅在本地模式中有效。

Oracle Solaris 信息转储文件不包含只读内存段。可执行只读段(即文本)自动进行处理,dbx 通过查看可执行文件和相关共享对象对照这些段解决内存访问问题。

语法

mmapfile mmapped-file address offset length

查看从核心转储中丢失的内存映射文件的内容。

其中:

mmapped-file 是信息转储期间映射内存的文件的文件名。

address 是进程地址空间的起始地址。

length 是要查看的地址空间的字节长度。

offset 是以字节数表示的距离 mmapped-file 中起始地址的偏移量。

示例

只读数据段通常在应用程序内存映射数据库时出现。例如:

caddr_t vaddr = NULL;
off_t offset = 0;
size_t = 10 * 1024;
int fd;
fd = open("../DATABASE", ...)
vaddr = mmap(vaddr, size, PROT_READ, MAP_SHARED, fd, offset);
index = (DBIndex *) vaddr;

以下命令允许通过作为内存的调试器访问数据库:

mmapfile ../DATABASE $[vaddr] $[offset] $[size]

然后,按结构化方式查看数据库内容:

print *index