# Handles and kernel objects in zxdb

List all handles and [VMOs](/docs/reference/kernel_objects/vm_object.md) (some of these "Virtual
Memory Objects" can be mapped but won't have open handles) with the `handles` command.

```none {:.devsite-disable-click-to-copy}
[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
```

You can look up more detailed information by handle value:

```none {:.devsite-disable-click-to-copy}
[zxdb] handle 4166674259
  Handle  4166674259
    Type  ZX_OBJ_TYPE_TIMER
    Koid  30158
  Rights  ZX_RIGHT_SIGNAL
          ZX_RIGHT_WAIT
          ZX_RIGHT_INSPECT
```

Or you can look up an object by koid. Koid lookup will only search the objects in the debugged
process and won't match arbitrary kernel objects owned by other processes. Koid lookup is the only
way to show detailed information for mapped VMOs that have no open handles.

```none {:.devsite-disable-click-to-copy}
[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
```
