C#使用线程窗口调试多线程程序

调试多线程程序一般有以下几种办法

1、在日志的某个地方写日志文件。

优点:不会干扰程序的执行,特别是对网络的多线程通信。

缺点:每次都需要打开日志文件以查看进程运行的信息。

2、利用断点进行调试。

优点:直观,可以直接看到运行过程的值

缺点:在多个线程设置断点,可能让程序跳来跳去,还需要额外地分出一部分精力用来理清程序的逻辑

3、利用弹出窗口来查看进程调试的信息。

优点;直观

缺点;在调试网路通信的时候,使得通信的过程产生延时,导致通信失败。

4、利用vs自带的线程窗口来调试

优点:直观,可以直接从进程图上看到哪个进程是活动进程,哪些进程处于阻塞状态。

缺点:需要结合断点调试,基本上就是断点调试的加强版

前面三种都比较基础大多数人应该已经掌握了 ,下面针对第四种再详细说明下:

比如以下示例:开了两个线程

            Task.Run(() =>{var count = 0;while(true){Thread.Sleep(1000);Console.WriteLine($"{count}");count++;}});Task.Run(() =>{var count = 0.12345;while (true){Thread.Sleep(1000);Console.WriteLine($"{count}");count += 0.1; ;}});

我仅在第一个线程设置了断点,只想在第一线程跟踪变量变化,但是实际上单步调试的时候你会发现,程序会跳来跳去,一会儿再上面哪个线程,一会儿又在下面哪个线程执行,

这时候的一般的做法是:

这是我做的:

  1. 设置一个条件断点,我知道这个断点只会出现在我正在寻找的线程上。

  2. 一旦断点命中并且你在你想要的线程中,在Visual Studio线程窗口中(在调试,调试 - > Windows - >线程时),Ctrl+ A(选择所有线程),然后Ctrl+单击您当前所在的线程。除了要调试的线程之外,您应该拥有所有线程。

  3. 单击鼠标右键,然后选择“冻结”。

但是实际上:

冻结/解冻线程是一种不正确的方式,因为其他线程不执行任何代码。

最正确和最有用的方法是:

  1. 在断点窗口中按Ctrl + A(选择所有断点)。

  2. 右键单击并选择“过滤器...”。

  3. 输入“ThreadId =(当前线程ID)”。

Visual Studio 2015及更高版本中,过程类似于:

  1. 在断点窗口中按Ctrl + A(选择所有断点)。

  2. 右键单击并选择“设置...”。

  3. 选中“条件”,然后在下拉列表中选择“过滤器”

  4. 输入“ThreadId =(当前线程ID)”。

所以所有线程都被执行,但调试器仅在当前线程上命中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/303126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

窥探渣男天才爱因斯坦的一生

本文授权转自微信公众号超级数学建模(ID:supermodeling)----------------------------------提起爱因斯坦,你最先想到什么?相对论?原子弹?物理天才?Emc?然而,2017年由美…

scvn 操作

新创建的目录,不在版本控制中的直接propset svn:ignore就行 创建了一个文件夹,并且把它加入版本控制,但忽略文件夹中的所有文件的内容:$ svn mkdir xxx$ svn propset svn:ignore * -R xxx //*表示改目录下所有文件,但…

在 Azure App Service 上运行 .NET 6 预览版

点击上方蓝字关注“汪宇杰博客”原文:Jeff Martinez翻译:Edi Wang导语.NET 6 是最新的 .NET 版本,它最终将.NET Core,Framework,Xamarin和Mono的精华带入以 .NET 5 开始的统一平台。该版本目前为预览版,用于…

R还能这样玩!

R作为一种统计分析软件,广泛应用于生物、医学、电商、新闻等数据相关行业,是目前主流数据应用软件之一。那么,R到底有哪些特别之处呢?实际上,R是统计领域广泛使用的S语言的一个分支,两者在程序语法上几乎一样&#xf…

Visual Studio 清单(manifest)导致的问题

前些天把一个项目从XP 32位平台拿到Win7 64位平台去编译运行,用VS2008按Win32的方式编译连接都通过,但是一运行就报错,说是找不到msvcr90.dll,编译的DEBUG版本,也会调用msvcr90.dll?把项目中的每个工程配置…

百度网页移动端html,百度移动端开始用网站品牌名代替网址显示

最近,有站长发现,百度移动端最近做了部分改版:移动端部分网站域名开始逐渐被网站相关名称代替,PC端还是用域名展示,卢松松博客网站域名也被替换成网站品牌名显示!不知道站长们,最近有没有注意到&#xff0c…

每天6亿人在看《延禧攻略》?大数据告诉你哪家视频网站VIP值得买(附代码)

导读:随着《延禧攻略》的播出,魏璎珞、富察皇后等各位后宫小主的命运时刻牵动着各位观众的心。同时爱奇艺也因为该剧的大火,收获了单日超过6亿的播放量。我们此次将对比各大视频网站2018年截止到8月18号的电视剧和综艺节目的播放情况&#xf…

大厂面试都爱问这4个问题,.NET开发必看!

金三银四已进入尾声,身边不少从事.NET开发的朋友有了更好的去处!大家日常在交流群里也常有分享经验。在面试时,大厂面试官都喜欢问什么;提问的形式和特点,大家又该如何应对等问题格外引起注意。今天就以腾讯公司的招聘…

参加计算机竞赛需要学什么知识,数学和计算机专业,我应该参加那些比赛?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼美国数学竞赛美国数学竞赛 AmericanMathematical Competition,简称 AMC,原是于 1950 年起由美国数学协会 (MathematicsAssociation of America ,简称 MAA) 开始举办的美国高中数学考试 (AHSME)。…

Win32系统下安装Win64补充说明

不少网友都写过如何在win32下安装win64系统,他们写的很好,这里仅以win7 32Bit下安装win7 64Bit系统为例进行补充说明. 准备Win7 64Bit系统,将其弄到硬盘里,或者弄到虚拟光驱,SD卡随你便,总之你的系统得能找到它. 详细情况参考其它网友描述例如http://apps.hi.baidu.com/share/d…

程序员年入50万,我们该如何努力达到这个目标?

先说明,这里是指税后。年收入50万在上海算多吗?比上不足,比下有余。不过在上海达到这个水平,至少可以说是能达到财务自由了吧。况且,根据马太效应的说法,和年入20万到50万这个增加阶段相比,年入…

昆明学院计算机二级报名时间,2017年3月昆明学院计算机等级考试报名时间(云南)...

考试时间:2017年3月25日至3月27日。网上报名及费用支付时间:2016年12月19日至12月28日。报名及准考证打印网址:http://222.221.5.208/NCRE_EMS/StudentLogin.aspx请各位考生注意:考生只能选择一个考点报名;本校考生只能…

OrchardCore 如何动态加载模块?

【导读】今天,我们再次讨论下OrchardCore,通过初期调研,我们项目采用OrchardCore底层设施支持模块化,同时根据业务场景,额外还需支持二次开发,于是有了本文,若有不同解决方案,欢迎留…

sed之G、H、g、h使用

前言 作者不善言谈,如有错误请指正!!! 转载请注明出处!!! sed之G、H、g、h使用 什么是sed? sed是面向流的行编辑器,所谓面向流,是指接受标准输入的输入&#…

人工智能路上,怎么能少了它!

目前,人工智能的应用日渐广泛。而作为人工智能核心的机器学习,是一门多领域的交叉学科,专门研究计算机模拟或实现人类学习行为的方法,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。简单来说&a…

墙裂推荐:这可能是CAP理论的最好解释

> 英文蓝本:http://ksat.me/a-plain-english-introduction-to-cap-theorem 经过小码甲意译、原创配图, 建议收藏。你可能经常听到CAP定理, 这个定理描述了在设计分布式系统时的天然约束。就像其他文章一样, 本文以现实场景对比理解CAP定理…

台湾 计算机术语,快取,陣列,程式,这些台湾的计算机术语,你知道几个?|冷知识...

原标题:快取,陣列,程式,这些台湾的计算机术语,你知道几个?|冷知识作者 | 楼下小黑哥来源 | 程序通事今天就不写技术文了,写点轻松的,带大家涨点知识。最近闲来无聊的时候&#xff0c…

使用现代化 C# 语法简化代码

使用现代化 C# 语法简化代码Intro最近几个版本的 C# 在语法中有很多的变化,有很多语法能够帮助我们大大简化代码复杂度,使得代码更加简洁,分享几个我觉得比较实用的可以让代码更加简洁的语法Default literal expressions在 C# 7.1 之后&#…

计算机原理试题b,计算机组成原理试题B答案

计算机组成原理试题B答案 (3页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!9.9 积分计算机组成原理试题B答案一、 选择题1. D 2. A 3. A,C 4. B 5. B 6. B 7. B 8. B 9. A 10. D二、 填…

趣图:各种程序员的键盘热力图

图0:不保存不舒服斯基型图1:复制粘贴型 图2:复制粘贴型专用键盘图3:Vim 党新手(内心OS:门在哪里,我要退出)图4:Windows 程序员图5:01 党终极程序员 来源&am…