Solaris 模块调试器指南

dcmd

process ::fd fd-num

列显对应于与指定进程关联的文件描述符 fd-numfile_t 地址。 进程是使用其 proc_t 结构的虚拟地址指定的。

thread ::findstack [ command ]

列显与指定内核线程(通过其 kthread_t 结构的虚拟地址标识)关联的栈跟踪。 该 dcmd 使用几种不同的算法查找相应的栈反向跟踪。 如果指定了可选的命令字符串,则将点变量重置为最顶部栈帧的帧指针地址,并且计算指定的命令,就好像已在命令行中键入它一样。 缺省的命令字符串是 "<.$C0";即用于列显包括帧指针(但不包括参数)的栈跟踪。

::pgrep [ -no ] regexp

显示其名称与 regexp 正则表达式模式匹配的进程的进程信息。如果存在 -n 选项,则仅显示与模式匹配的最新进程。如果存在 -o 选项,则仅显示与模式匹配的最旧进程。

pid ::pid2proc

列显与指定的 PID 相对应的 proc_t 地址。 请记住 MDB 的缺省基数是十六进制的,因此使用 pgrep(1)ps(1) 获取的十进制 PID 应该使用 0t 作为前缀。

process ::pmap [-q]

列显指定的进程地址所指示的进程的内存映射。该 dcmd 使用与 pmap(1) 类似的格式显示输出。如果存在 -q 选项,则 dcmd 显示其输出的缩写形式(所需的处理时间较短)。

[ address ] ::ps [-fltTP]

列显与指定的进程或所有活动系统进程相关的信息摘要,与 ps(1) 类似。如果指定了 -f 选项,则列显完整的命令名和初始参数。如果指定了 -l 选项,则列显与每个进程关联的 LWP。 如果指定了 -t 选项,则列显与每个进程 LWP 关联的内核线程。如果指定了 -T 选项,则显示与每个进程关联的任务 ID。如果指定了 -P 选项,则显示与每个进程关联的项目 ID。

::ptree

列显进程树,其中子进程从其各自的父进程中缩进。 该 dcmd 使用与 ptree(1) 类似的格式显示输出。

address ::task

列显活动内核任务结构及其关联 ID 号和属性的列表。settaskid(2) 中对进程任务 ID 进行了更详细的介绍。

[ address ] ::thread [-bdfimps]

显示指定内核 kthread_t 结构的属性。 如果未指定 kthread_t 地址,则显示所有内核线程的属性。 dcmd 选项用于控制所显示的输出列。 如果不存在任何选项,则缺省情况下会启用 -i 选项。 如果存在 -b 选项,则显示与线程的十字转门 (turnstile) 和阻塞同步对象相关的信息。如果存在 -d 选项,则显示线程的分发程序优先级、绑定和上次分发时间。 如果存在 -f 选项,则输出中不显示状态为 TS_FREE 的线程。 如果存在 -i 选项(缺省选项),则显示线程状态、标志、优先级和中断信息。 如果存在 -m 选项,则所有其他输出选项都将合并到一行输出上。 如果存在 -p 选项,则显示线程的进程、LWP 和凭证指针。 如果存在 -s 选项,则显示线程的信号队列以及暂挂信号和保留信号的掩码。

vnode ::whereopen

在指定 vnode_t 地址的情况下,列显当前在其文件表中打开了此 vnode 的所有进程的 proc_t 地址。