vs2019調試時,取消線程abort終止導致異常中斷方法


線程調用abort()會觸發ThreadAbortException異常,調試時不想觸發該異常的解決方式。

1、初始化線程

 1         /// <summary>
 2         /// 初始化
 3         /// </summary>
 4         public void InitTask()
 5         {
 6             //構建線程,啟動
 7             _Thread = new Thread(new ThreadStart(() =>
 8             {
 9                 try
10                 {
11                     //開始循環
12                     while (_isTaskStart)
13                     {
14                             Thread.Sleep(100);  //do something
15                     }
16                 }
17                 catch (Exception ex)
18                 {
19                     //TODO:記錄日志
20                 }
21                 _drawThread = null;
22             }));
23             _drawThread.IsBackground = true;
24             _drawThread.Start();
25         }        

2、終止線程

 1          /// <summary>
 2         /// 釋放資源
 3         /// </summary>
 4         protected void DisposeThread()
 5         {
 6               // 釋放。
 7               if (_drawThread != null)
 8               {
 9                   _drawThread.Abort();
10                   while (_drawThread != null && _drawThread.IsAlive)
11                   {
12                        Thread.Sleep(10);
13                    }
14                         _drawThread = null;
15                 }
16           }

觸發異常:

 

 

 調試階段避免頻繁觸發異常解決方法:

1、異常設置=》common language中去除ThreadAbortException。兩種方式

A:直接在異常界面,下角有個異常設置,取消勾選。

B:調試菜單=>窗口=>異常設置=>common language runtime exceptions=>ThreadAbortException

 

 上面辦法去除ThreadAbortException選項的勾選,調試仍然出現異常斷點,則可能環境設置仍有問題,解決方式:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM