|
.NET 下調(diào)試跟蹤線程掛起和程序死循環(huán)
作者:Eaglet
.NET 下的程序調(diào)試相對C/C++要簡單很多,少了那些令人頭疼的指針越界的問題。不過當你的程序遇到如下問題時,依然非常棘手:
1. 進程異常終止。解決方案見 .NET 下未捕獲異常的處理
2. 內(nèi)存泄漏或者內(nèi)存申請后程序始終沒有釋放。解決方案見 用 .NET Memory Profiler 跟蹤.NET 應(yīng)用內(nèi)存使用情況--基本應(yīng)用篇 。如果通過自己編寫的程序監(jiān)控,我將在以后的文章中闡述。
3. 線程因未知原因掛起,比如死鎖。
4. 程序死循環(huán)。
本文將闡述如果編寫程序?qū)髢烧吖收蠈崟r跟蹤并報告。
- 首先我們需要一個單獨的監(jiān)控線程來監(jiān)控需要監(jiān)控的線程
我做了一個監(jiān)控類 ThreadMonitor,在開始監(jiān)控之前,我們將監(jiān)控線程的優(yōu)先級設(shè)置為最高。







NET技術(shù):.Net 下跟蹤線程掛起和程序死循環(huán),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。