加入收藏 | 设为首页 | 会员中心 | 我要投稿 拼字网 - 核心网 (https://www.hexinwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

干货来了!推 荐10个 用于C#.NET开发的基本调试工具

发布时间:2023-02-01 11:38:58 所属栏目:Linux 来源:
导读:  今天给各位网友分享10个用于C#.NET开发的基本调试工具,掌握了这10个工具,大家就可以轻松玩转C#.NET开发与调试。

  话不多说,直接上干活!!

  1、Visual Studio

  当涉及调试时,我们的

  今天给各位网友分享10个用于C#.NET开发的基本调试工具,掌握了这10个工具,大家就可以轻松玩转C#.NET开发与调试。
 
  话不多说,直接上干活!!
 
  1、Visual Studio
 
  当涉及调试时,我们的主要工具就是Visual Studio。它是世界上最好的IDE之一,而不仅仅是在.NET 领域。它具有大量功能来帮助你进行调试,包括各种工具窗口,异常选项,工具提示等。根据2019年StackOverflow的调查,微软设法将基本功能和高级功能都整合到一个非常直观的程序中,是Visual Sudio成为所有开发人员第二受欢迎的IDE。
 
  近年来,出现了两个竞争对手来挑战.NET IDE 领域:Rider和Visual Studio Code。根据我的经验,两者的调试功能仍然远远落后于Visual Studio。尽管Rider的重构功能和性能令人印象深刻。
 
  除了交互式(传统)调试,VS还包括许多其他分析工具:
 
  对于上述所有类别,我更喜欢使用其他工具。继续进行阅读,它们都在本次清单中。
 
  2、dnSpy
 
  dnSpy 是用于 .NET 调试的最有用的工具之一。它是一个很好的反编译器。但是它的主要用途是作为调试器。dnSpy允许你调试任何 .NET程序你,而无需考虑符号或者源代码。
 
  该工具的外观和感觉类似于Visual Studio。当你开始调试没有符号或者源代码的.NET进程时,dnSpy将向你显示反编译的代码。现在,这里有个魔术:你可以在反编译的代码本上中放置断点。遇到这些断点时,你将看到局部变量,线程,调用堆栈,并具有完整的调试经验。这使dnSpy成为调试第三方代码和调试生产环境的首选工具。
 
  它轻巧,无需安装。只需将文件夹复制到任何生产机器上,然后开始调试。
 
  linux 测试网速的相关工具_linux网速测试命令_linux测试网速工具
 
  这个工具有个小窍门。如果你使用dnSpy启动进程,那么一切将正常运行。但是,如果你附加到正在运行的进程时,则已加载的模块将保持优化状态。也就是说它们是在Release模式下构建的。优化代码后,将不会遇到某些断点,也不会显示某些局部变量。这几乎破坏了调试体验。解决方案是使用dsSpy启动进程,而不是附加到进程中。
 
  3、dotPeek
 
  dotPeek是JetBrains的免费.NET反编译器。它们的许多工具实际上进入了该列表。与两个反编译器(如ILSpy或JustDecompile)相比,我更喜欢dotPeek,这有两个原因:
 
  dotPeek提供了更好的用户体验。或至少我感到自在。它看起来和感觉都像Resharper。所以这可能是原因。dotPeek可以从任何程序集中创建符号服务区,即使没有符号或源代码也是如此。它像dnSpy一样,它或反编译代码并从中创建符号。借助dotPeek,Visual Studio就像dnSpy一样调试任何第三方代码。要查看准确程度,请参阅我的文章:在Visual Studio中调试没有符号的第三方.NET代码,后续会进行翻译。4、dotTrace
 
  dotTrace是JetBrains的另一个出色工具。这是我最喜欢的性能分析工具。dotTrance允许你“记录”应用程序的允许,然后分析记录的性能。你将能够看到每种调用方法花费了多长时间,数据库条用,HTTP请求以及垃圾回收期间花费的时间等等。
 
  linux 测试网速的相关工具_linux网速测试命令_linux测试网速工具
 
  上图显示了对Visual Studio的简短记录分析。你可以看到ShowWindow花费了155毫秒,其中包括HwndSourceHook(42ms),Convert(16ms)等方法用时。此方法的执行包括42%的WPF调用,20%的用户代码,12%的GC等待,10%的Collections代码,10%的反射和5%的系统代码。太好了吧?
 
  首先,这是一个学习曲线,但是一旦习惯了,它会变得非常直观。
 
  5、SciTech's .NET Memory Profiler
 
  内存分析器是解决内存问题必不可少的另一类工具。这些可能是由于GC(GC压力)引起的内存泄露或性能影响。如果你有足够大的应用程序,那么迟早会遇到内存问题。我希望为你以后着想,因为这些类型的问题可能是毁灭性的。
 
  内存探查器可以拍摄“内存快照”linux测试网速工具,并让你对器进行调查。你将看到哪些对象占用最多的内存,谁引用了它们,以及为什么未进行垃圾回收。通过比较两个快照,可以发现内存泄露。
 
  有几种可用的内存分析器,但是SciTech's .NET Memory Profiler是我的最爱。我发现它是功能最强大的产品,问题最少。
 

(编辑:拼字网 - 核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!