除了gdb之外,在MT程序中調試死鎖線程的可能方法是什麼?調試MT程序中的死鎖線程?
2
A
回答
2
0
如果您使用的是POSIX,請嘗試調查PTHREAD_MUTEX_ERRORCHECK。
0
我一直投入了一些時間寫下來或嫁接在一個靈活的日誌記錄功能爲我工作的項目,它總是在轉彎困難的bug成難辦回報豐厚。至少,在函數或方法中記錄日誌之前和之後的鎖定原語,並顯示被鎖定的對象和正在執行鎖定的線程,這總能幫助我在幾分鐘內完成對攻擊線程的調整 - 假設當然,這個問題可以被複制。
在調試器下載入程序實際上是確定進程死鎖後發生的事情的一種相當有限的方法,因爲它可以給你的是一個你是多麼糟糕的快照,而不是一步一步解釋如何你搞砸了,我發現更有幫助。
0
或者獲得英特爾線程檢查器。精細的工作。
相關問題
- 1. 多線程中的死鎖
- 2. 如何調試掛起(死鎖)的C++中的多線程應用程序?
- 3. Delphi線程死鎖
- 4. Java線程死鎖
- 5. Ruby線程死鎖
- 6. Java,線程死鎖?
- 7. C#線程死鎖
- 8. 兩個線程程序防止死鎖
- 9. 死鎖的線程java
- 10. 線程池死鎖與Task.Result
- 11. 線程死鎖異步
- 12. MemoryStream.CopyTo()導致線程死鎖
- 13. 死鎖線程檢查
- 14. c3po助手線程死鎖
- 15. 死鎖在Python線程
- 16. 從工作線程調用UI線程時發生死鎖
- 17. 死鎖 - 在Java EE Web應用程序中阻塞的線程
- 18. C#中的線程死鎖例子#
- 19. GTK中線程的死鎖問題
- 20. 線程中的死鎖情況?
- 21. XMPP中的Ruby線程死鎖(xmpp4r)
- 22. Python線程和鎖定:死鎖
- 23. 調試PyThread_acquire_lock死鎖
- 24. 線程在套接字程序中面臨死鎖
- 25. Java擴展線程類中的線程死鎖
- 26. 調試多線程程序
- 27. 調試多線程程序
- 28. 調試多線程程序
- 29. 多線程DLL(/ MD)vs多線程(/ MT)
- 30. 診斷Win32程序中的死鎖
與所有的Valgrind工具一樣,Helgrind可以是一個非常有用的工具。 – 2009-07-07 22:55:36