【C#】并行编程实战:使用 Visual Studio 调试任务

这篇具有很好参考价值的文章主要介绍了【C#】并行编程实战:使用 Visual Studio 调试任务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        并行编程可以提高应用程序的性能,但是调试起来会更困难,这一点在之前的章节中我们已经有了很直观的感受。对于程序而言,保证程序的正确性和保证性能同样重要。

        本章将介绍可以在 Visual Studio 中的调试工具(包括 Thread 窗口、Tasks 窗口和 Concurrency Visulizer)调试线程。实际上在我看来使用 VS 进行调试并不理想,对于我们 Unity 程序来说有更好的方式。但是技多不压身,了解一下也是可以的。

          本教程学习工程:魔术师Dix / HandsOnParallelProgramming · GitCode


1、使用 Visual Sutdio 2019 2022 进行调试

        书上用的是 VS2019,但是都什么年代了,还在使用 2019 ? 我们直接上 2022 !

        线程调试窗口打开方式如下:

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         调试 -> 窗口 -> 线程。

        之后我们打上断点就能调试了,线程窗口如下所示:

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         PS:在 VS2022 中对 Untiy 打断点的方式为:调试 -> 附加 Unity 调试程序。

2、如何调试线程

        当使用多个线程时,找出在特定时间执行的是哪个线程就变得很重要,这使得我们能解决跨线程问题以及竞争状况。

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         线程打开如图所示,也可以显示断点。最左边的小旗子,表示标记线程。可以选择左边小旗子标记,然后就能选择只显示标记的线程。如果线程特别多的情况,这会非常方便。

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         还有一个小窗口,在 调试 -> 窗口 -> 并行堆栈窗口,可以查到并行堆栈之类。

        但是我实际用起来感觉作用不大,因为我最需要的2个功能:如何查看多线程的错误?如何查看多线程利用率?这两个窗口都无法显示出来,而且是只有断点的情况才会生效。

3、并发可视化器 Concurrency Visualizer

        书上提到了一个工具 Concurrency Visualizer ,我们可以直接在拓展中搜索,并安装到 VS 2022 上:

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         安装没有什么好说的,安装完了我们在 分析 -> 并发可视化工具中使用。

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         选择附加到进程,并找到我们的程序即可。之后系统会自动收集数据,然后我们运行 Unity 。当我们不需要测试时,停止收集,就能得到一个可视化的面板,表示性能:

【C#】并行编程实战:使用 Visual Studio 调试任务,多线程编程,C#,c#,多线程编程,学习

         我们可以从里面看到各种参数、线程的消耗等。

        相关介绍可以看篇文档:

利用VisualStudio2010中的ConcurrencyVisualizer优化性能 - 百度文库https://wenku.baidu.com/view/840f5972ab956bec0975f46527d3240c8547a176.html?_wkts_=1690171463334&bdQuery=Concurrency+Visualizer

        我的评价:没用,不如 Unity 的 Profile 。


4、本章小节

        本章简单介绍了几个调试工具和窗口,但是我感觉都没啥大用。如果只是为了看堆栈,普通的断点也能调试进去。如果看性能的话,显然 Unity 的 Profile 是更好的选择。至于如何使用 Unity Profile 看多线程的性能,这个我们后面再介绍。        

        总之都是非常鸡肋。

        本教程学习工程:魔术师Dix / HandsOnParallelProgramming · GitCode文章来源地址https://www.toymoban.com/news/detail-605629.html

到了这里,关于【C#】并行编程实战:使用 Visual Studio 调试任务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C#】并行编程实战:序章

            本文主要是基于这本书学习的:         《并行编程实战:基于C#8和.NET Core 3》,我当时买的实体书,长下面这个样子。我买了大概浏览了一下,感觉内容还行(基本都是没见过的新东西),所以打算认真学一下。         配套的学习(原书)工程地址如下

    2024年02月08日
    浏览(84)
  • C# 客户端程序 Visual Studio 远程调试方法

    传统桌面客户端的远程调试相比 UWP , ASP 等项目来说,配置比较麻烦,因为它是非部署的应用程序,原理是复制编译的文件到远程计算机,通过网络来连接和 VS 的通信,本文主要讲述 WPF , WinForm 应用程序的远程调试。 下载适合 Visual Studio 版本的最新远程工具。 最新的远程工

    2024年02月08日
    浏览(50)
  • 【Visual Studio 使用技巧分享】任务列表的使用

    Visual Studio 开发工具的熟练使用,能够潜在的提升我们工作效率,而且一些开发技巧的使用,会让我们的工作显得那么方便快捷。那么你知道VS中有哪些你不知道的使用小技巧呢?接下来,我们就来探索VS中的 “任务列表” 的使用。 任务列表是使用 TODO 、 HACK 或自定义令牌等

    2024年02月10日
    浏览(40)
  • 使用 Visual Studio Code 调试 CMake 脚本

    之前被引入到 Visual Studio 中的 CMake 调试器,现已在 Visual Studio Code 中可用。 也就是说,现在你可以通过在 VS Code 中安装 CMake 工具扩展,来调试你的 CMakeLists.txt 脚本了。是不是很棒? Visual C++ 开发团队和 CMake 的维护者 Kitware 一直密切合作,目的是将我们的 CMake 调试器实现集成

    2024年02月13日
    浏览(46)
  • 使用Visual Studio Code远程开发、调试fortran

    在wimdos 的vs code上下载软件Remote ssh 在linux上面下载测试ssh 在windos上开始连接远程服务器 注意: 4. 要想避免每次输密码,就得加入公钥和私钥。 5. 连接服务器要就处在同意局域网,不然很容易不成功。 安装软件: modern fortran coder runner

    2024年02月09日
    浏览(66)
  • 使用Visual Studio Code远程开发、调试Linux C

    在嵌入式和服务器端程序开发中,Linux是主流的开发、运行平台,但直接在这些平台上进行代码开发在很多情况下很繁琐(只能使用文本字符进行编辑,很多嵌入式Linxu系统不提供图形界面环境,工作难度极大,效率极其低下),一般情况是在Windows或MacOS上编写代码,在目标主

    2024年02月14日
    浏览(61)
  • 使用 Visual Studio Code Docker 工具调试 .NET 容器

    作者:Chet Husk 排版:Alan Wang Visual Studio Code Docker 工具已发布1.26.0版本,这个版本为使用 .NET SDK 构建和调试容器映像提供了内置支持。 Visual Studio Code Docker 工具使开发人员可以轻松入门容器。它提供了 Dockerfile 模板,用于构建、运行和调试从 Dockerfile 生成的容器的集成,并提

    2024年02月12日
    浏览(47)
  • Visual Studio 远程调试工具(Remote Debugger)使用方法

    一、关于Remote Debugger 当项目在测试环境上有bug,需要运行代码调试一下,这时就需要在测试环境上安装一个调试工具(Remote Debugger),然后在本地运行代码,远程链接到测试环境服务器来调试代码;如桌面应用程序和Web应用程序。 二、下载 下载地址:远程调试 - Visual Studi

    2024年02月12日
    浏览(46)
  • 使用visual studio编译调试代码时,运行窗口一闪而过

            对于头一次使用visual studio或者是刚接触编程使用visual studio软件时,可能会遇到这么个情况:代码好不容易写好后准备进行调试,按下调试发现有个什么东西在屏幕上一闪而过,然后下面的输出框显示生成成功,但自己却什么也没有看到,遇到这种情况该怎么办?  

    2024年02月08日
    浏览(95)
  • Visual Studio 2022使用MinGW来编译调试C/C++程序

    Visual Studio的新版本已经可以像VSCode一样创建CMake项目了,但是默认的情况下是使用的Visual Studio编译器及调试器不包括MinGW中的工具集,参见下面的默认可选工具集: 本文就以实例来简单介绍一下VS2022中如何使用MinGW来编译、调试C/C++程序。 本文链接地址:https://blog.csdn.net/wi

    2023年04月08日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包