使用gdb重新获取地址的信息

时间:2018-03-10 19:35:40

标签: gdb strace futex

在Java应用程序上运行strace时,我注意到很长时间的系统调用(主要是futex)。

futex(0x7f8578001fd4, FUTEX_WAIT_PRIVATE, 1311, NULL) = 0 <15.082094> 

我真的很想了解futex上的等待是针对哪些共享资源的。

但是,我不确定如何?

我做了一些谷歌搜索,发现GDB可以帮助找到上述原因。但不幸的是,我并不太了解GDB,因为我之前几乎没有使用它。

有些人可以帮助我理解如何找到我正在看的答案。

1 个答案:

答案 0 :(得分:1)

futex操作正在等待另一个线程释放锁定。您应该首先查看Java感知工具,看看这是否是一个高级Java锁。也许甚至发送SIGQUIT(通过按Ctrl + \就足够了)。