熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

.NET的死鎖調試工具:ACorns.Debugging

2022-06-13   來源: .NET編程 

  默認情況下NET對死鎖檢測沒有任何的支持一種常用的方法是通過加載調試器來逐個檢測所有的線程來判斷是否產生了死鎖現在圖形化調試工具HawkEye的創造者Corneliu為我們提供了一個選擇他的ACornsDebugging工具可以在無須重新編譯NET程序的情況下對大部分死鎖進行檢測對此Corneliu是這樣描述的

  這一工具不要求任何形式的重新編譯無論是哪種方式的外部依賴對外部庫的引用都無須進行代碼修改也不受到在編碼時使用指定類型的鎖的影響

  對於沒有PDB文件的Release版本它也能照常工作

  它可以分析正在運行的進程也可分析運行之後獲取的內存鏡像

  它可以檢測涉及多線程的死鎖並返回詳細的調用棧和鎖的使用信息

  它只能檢測到那些正在激活狀態下等待被其它線程占用的鎖而形成的死鎖

  它無法檢測到哲學家就餐問題這樣的死鎖或由於定時等待+蘇醒/檢測+鎖混合造成的死鎖

  它依賴於一個第三方的CDBexe(此文件在微軟提供的Windows版免費調試工具包中)

  它完全無須安裝使用一個xcopy命令進行布署

  最最重要的一點——它是免費的(它的源碼很快也將發布)

  對於那些剛開始接觸並行編程的人Corneliu提供了一個對死鎖的簡要介紹以及對該程序輸出結果的說明

  ACornsDebuggingFindDeadlockzip是基於微軟的Debugging Tools for Windows來工作的


From:http://tw.wingwit.com/Article/program/net/201311/13067.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.