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选项的勾选,调试仍然出现异常断点,则可能环境设置仍有问题,解决方式:
作者:VueDi
出处:https://www.cnblogs.com/VueDi/
本文版权归作者所有,欢迎转载,转载请注明出处:VueDi:(https://www.cnblogs.com/VueDi/)
分类:
C#
, VisualStudio
标签:
Visual Studio
, C#
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具