控制内核锁跟踪。
locktrace [ -r ClassName | -s ClassName | -S | -R | -l ]
locktrace 命令控制了哪些内核锁被 trace 子系统跟踪。 缺省情况下是什么都不 trace。如果机器在运行 bosboot -L 命令后重新启动, 那么,可以打开或关闭对一个或多个的单独锁类或所有锁类的内核锁跟踪。 如果没有运行 bosboot -L,那么只能打开对所有锁的锁跟踪,或者不打开任何锁的锁跟踪。当锁被捕获或丢失(hook 标志 112)以及释放(hook 标志 113)的时候,该情况下收集的 trace 事件 并不需要使锁类名可用。
-r classname | 关闭所有属于指定类的内核锁的锁跟踪。 如果没有运行 bosboot -L,那么该选项会一直失效。 |
-s classname | 打开所有属于指定类的内核锁的锁跟踪。 如果没有执行 bosboot -L,那么该选项会一直失效。 |
-R | 关闭所有的锁跟踪。 |
-S | 不管所有锁的类成员,打开它们的锁跟踪。 |
-l | 列出内核锁跟踪的当前状态。 |
locktrace -s SEM_LOCK_CLASS
locktrace -R
/usr/bin/locktrace | 包含了 locktrace 命令。 |
/usr/include/sys/lockname.h | 包含了 lock 类名。 |