Documentation Home
> Solaris 模块调试器指南
Solaris 模块调试器指南
Book Information
索引
数字和符号
B
C
D
F
I
K
M
R
S
U
W
变
标
错
符
格
管
宏
回
加
进
扩
联
命
目
内
配
平
任
设
事
输
搜
算
同
未
文
写
信
虚
循
语
栈
整
终
重
注
字
前言
第 1 章 模块调试器概述
简介
MDB 功能
使用 MDB
未来的增强功能
第 2 章 调试器概念
生成块
模块化
第 3 章 语言语法
语法
命令
注释
算术展开
一元运算符
二元运算符
加引号
Shell 转义
变量
符号名称解析
dcmd 和 Walker 名称解析
dcmd 管道
格式设置 dcmd
第 4 章 交互
命令重新输入
内嵌编辑
快捷键
输出页面调度程序
信号处理
第 5 章 内置命令
内置 dcmd
第 6 章 执行控制
执行控制
事件回调
线程支持
内置 dcmd
与 exec 交互
与作业控制交互
进程的附加和释放
第 7 章 内核执行控制
引导、装入和卸载
终端处理
调试器项
处理器特定功能
第 8 章 内核调试模块
通用内核调试支持 (genunix)
内核内存分配器
dcmd
Walker
文件系统
dcmd
Walker
虚拟内存
dcmd
Walker
CPU 和分发程序
dcmd
Walker
设备驱动程序和 DDI 框架
dcmd
Walker
STREAMS
dcmd
Walker
联网
dcmd
Walker
文件、进程和线程
dcmd
Walker
同步元语
dcmd
Walker
循环
dcmd
Walker
任务队列
dcmd
Walker
错误队列
dcmd
Walker
配置
dcmd
进程间通信调试支持 (ipc)
dcmd
Walker
回送文件系统调试支持 (lofs)
dcmd
Walker
Internet 协议模块调试支持 (ip)
dcmd
Walker
内核运行时链接编辑器调试支持 (krtld)
dcmd
Walker
USB 框架调试支持 (uhci)
dcmd
Walker
USB 框架调试支持 (usba)
dcmd
Walker
x86: x86 平台调试支持 (unix)
dcmd
Walker
SPARC: sun4u 平台调试支持 (unix)
dcmd
Walker
第 9 章 使用内核内存分配器进行调试
入门:创建崩溃转储样例
设置 kmem_flags
强制崩溃转储
启动 MDB
分配器基础知识
缓冲区状态
事务
休眠分配和非休眠分配
内核内存高速缓存
内核内存高速缓存
检测内存损坏
检查已释放的缓冲区: 0xdeadbeef
Redzone(禁区): 0xfeedface
未初始化的数据: 0xbaddcafe
将故障消息与失败关联
内存分配日志记录
buftag 数据完整性
bufctl 指针
高级内存分析
查找内存泄漏
查找数据引用
使用 ::kmem_verify 查找损坏的缓冲区
分配器日志记录工具
第 10 章 模块编程 API
调试器模块链接
_mdb_init()
_mdb_fini()
Dcmd 定义
Walker 定义
API 函数
mdb_pwalk()
mdb_walk()
mdb_pwalk_dcmd()
mdb_walk_dcmd()
mdb_call_dcmd()
mdb_layered_walk()
mdb_add_walker()
mdb_remove_walker()
mdb_vread() 和 mdb_vwrite()
mdb_fread() 和 mdb_fwrite()
mdb_pread() 和 mdb_pwrite()
mdb_readstr()
mdb_writestr()
mdb_readsym()
mdb_writesym()
mdb_readvar() 和 mdb_writevar()
mdb_lookup_by_name() 和 mdb_lookup_by_obj()
mdb_lookup_by_addr()
mdb_getopts()
mdb_strtoull()
mdb_alloc()、mdb_zalloc() 和 mdb_free()
mdb_printf()
标志说明符
字段宽度说明符
整数说明符
终端属性说明符
格式说明符
mdb_snprintf()
mdb_warn()
mdb_flush()
mdb_nhconvert()
mdb_dumpptr() 和 mdb_dump64()
mdb_one_bit()
mdb_inval_bits()
mdb_inc_indent() 和 mdb_dec_indent()
mdb_eval()
mdb_set_dot() 和 mdb_get_dot()
mdb_get_pipe()
mdb_set_pipe()
mdb_get_xdata()
其他函数
附录 A 选项
命令行选项摘要
操作数
退出状态
环境变量
附录 B 注意事项
警告
使用错误恢复机制
使用调试器修改实时操作系统
使用 kmdb 停止实时操作系统
注意事项
进程核心转储文件的检查限制
崩溃转储文件的检查限制
32 位调试器和 64 位调试器之间的关系
kmdb 可用内存的限制
开发者信息
附录 C 从 adb 和 kadb 转换
命令行选项
语法
观察点长度说明符
地址映射修饰符
输出
延迟断点
x86: I/O 端口访问
附录 D 从 crash 转换
命令行选项
MDB 中的输入
函数
© 2010, Oracle Corporation and/or its affiliates