1
我試圖調試一個進程與多個線程和我的一個線程卡住等待NSRecursiveLock
成爲可用 - 確認GDB
。來源寫在Objective C
。Mac OS編程和GDB:確定哪個線程擁有一個NSRecursiveLock
所以我試圖回答的一個大問題是誰在這種情況發生時持有鎖。我查看了我的進程中所有其他線程的調用堆棧,並沒有發現任何線索。
這是我在GDB
看到我的時候我傾倒鎖的狀態:
(gdb) p \*(NSRecursiveLock\*)0x4c0cf30 $24 = { `NSObject = {`
isa = 0xac94a3d0
}
members of NSRecursiveLock:
_priv = 0x0
}
正如你可以看到上面的輸出也不是很豐富。
如何找出誰持有鎖?