zxdb 中的句柄和内核对象

使用 handles 命令列出所有句柄和 VMO(其中一些“虚拟内存对象”可以映射,但不会有打开的句柄)。

[zxdb] handles
      Handle  Type                  Koid
      <none>  ZX_OBJ_TYPE_VMO      30040
  4166674259  ZX_OBJ_TYPE_TIMER    30158
  4167722515  ZX_OBJ_TYPE_PORT     30157
  4169819767  ZX_OBJ_TYPE_CHANNEL  30222

您可以根据句柄值查找更详细的信息:

[zxdb] handle 4166674259
  Handle  4166674259
    Type  ZX_OBJ_TYPE_TIMER
    Koid  30158
  Rights  ZX_RIGHT_SIGNAL
          ZX_RIGHT_WAIT
          ZX_RIGHT_INSPECT

或者,您可以按 koid 查找对象。Koid 查找功能将仅搜索已调试进程中的对象,且不匹配其他进程拥有的任意内核对象。Koid 查找是显示没有开放句柄的映射 VMO 的详细信息的唯一方式。

[zxdb] handle -k 30108
                   Handle  <none>
                     Type  ZX_OBJ_TYPE_VMO
                     Koid  30108
                   Rights  ZX_RIGHT_NONE
                     Name  data0:blob-60
        VMO size in bytes  4096
              Parent koid  30105
               # children  0
               # mappings  1
              Share count  1
                    Flags  ZX_INFO_VMO_TYPE_PAGED
                           ZX_INFO_VMO_VIA_MAPPING
          Committed bytes  4096
             Cache policy  ZX_CACHE_POLICY_CACHED
           Metadata bytes  176
  Committed change events  0