线程调试选项

pthread 库维护一个活动互斥对象、条件变量和读写锁列表,以供调试器使用。

当初始化一个锁后,假设它还不在列表中,那么它会添加到列表中。 列表作为一个链表而持有,因此在列表变大时确定一个新锁还不在列表中隐含了性能有关的因素。 这个问题和列表是由一个锁(dbx__mutexes)保护的事实结合在一起,这个锁在搜索列表时一直持有。 在这种情况下,其他对 pthread_mutex_init() 子例程的调用在搜索结束时仍然保持。

如果下列环境变量设置为缺省值 OFF,那么会完全禁用适当的调试列表。 这意味着 dbx 命令(或者使用 pthread 调试库的任何调试器)将显示不存在任何对象。

  • AIXTHREAD_MUTEX_DEBUG
  • AIXTHREAD_COND_DEBUG
  • AIXTHREAD_RWLOCK_DEBUG
要将这些环境变量中的任何一个设置为 ON,使用下列命令:
# export variable_name=ON