VS调试Tip集“.NET研究”结

简介:   在VSX群里陈锋,录制了几个调试的视频,感觉挺有用的。调试其实大家都知道怎么去做。但是不一定对我开发IDE给我提供的快捷方式全部了解。在这里我对这些做一些集结,这里也不是很全,希望大家在后面补上,让楼主也张张见识,哈哈。

  在VSX群里陈锋,录制了几个调试的视频,感觉挺有用的。调试其实大家都知道怎么去做。但是不一定对我开发IDE给我提供的快捷方式全部了解。在这里我对这些做一些集结,这里也不是很全,希望大家在后面补上,让楼主也张张见识,哈哈。

  1:DbgView和vs output窗口:

  对于我在代码中写有Debug输出的再vs调试状态下我们可以再vs输出窗口看见,打印一些我们所关心的变量数据等。当我们的程序在运行的时候就可以用DbgView获取我们的打印。

  2:断点:(这个是大家所熟悉的):

  vs中给我们提供了Condition,Hit Count、Filter、when Hit、Edit lab、Export集中操作,这里就不多说,大家都知道。

  提出一个在多个进程调试的时候,我们可以用Filter过滤其他进程专心于一个进程中:

image

  条件断点不仅可以调试满足条件情况,还可以调试某个表达式的值改变时。比如某个变量i,我只关心他在哪里改变,如果改变就断点停止。

image

  3:Debugger:

  为我们提供了操作系统的借口,启用与调试器的通信。具有以下几个重要方法:

  1:Break:发出信号表示连接调试器的断点。

  2:上海徐汇企业网站制作="_blank">IsLogging:检查连接的调试器是否已启用日志记录。

  3:Launch:启动调试器并将其连接到进程。

  4:Log:发送连接调试器的消息。

  5:IsAttached(属性):获取一个值,它指示调试器是否已连接到进程。

  4:DataTips:image

  它提供了我们在调试时候修改变量的值。

  5:异常的处理决策:

image

  在Debug->Exception..,在这里我们可以设置异常的抛出决策。有时对于我们的已经被try catch的代码块,我需要找到异常块,就可以上海闵行企业网站制作让va扑捉,看异常处停住。

  6:Debug attribute:

  vs中给我们提供了几个Attribte:DebuggerBrowsable,DebuggerDisplay等,便于我们的调试。对于我们调试复杂对象时非常有用。

  7: DebuggerVisualizers:

  我们想看一个DataTable的DebuggerVisualizers:

image

image

  大家一定很熟悉,其实这个是我们可以自定义的(实现Microsoft.VisualStudio.DebuggerVisualizers下的DialogDebuggerVisualizer抽象类),请参见Demonicsoft老兄的自定义Visual Studio调试窗口。在这个的启发下我们可以自定以一些常用的DebuggerVisualizers,我觉得比如我们的xml操作,在调试的时候我们希望看到该节点及其子节点的结构,比照我们的程序运行。还有比如winform或者wpf的界面绘图,在某个操作的时候我们肯希望此时就看见我们的form或者图形的绘制结果等等。

  最后贴上视频下载http://fengchen.wordpress.com.cn/2010/11/17/netappdbgsumup/,希望大家也多顶顶  。在本随笔中未曾提到的Tips,希望大家也提出来。

目录
相关文章
|
安全 C# 开发工具
模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案
模拟.NET实际应用场景,综合应用三个主要知识点:一是使用dnSpy反编译第三库及调试,二是使用Lib.Harmony库实现第三库拦截、伪造,三是实现同一个库支持多版本同时引用。
模拟.NET应用场景,综合应用反编译、第三方库调试、拦截、一库多版本兼容方案
|
4月前
|
API
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
|
3月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
3月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
5月前
|
Linux C# iOS开发
如何用 WinDbg 调试Linux上的 .NET程序
【7月更文挑战第13天】 1. `dotnet-dump`: Collects process dumps with `dotnet-dump collect -p <process_id>`. 2. `lldb`: Debugs Mono runtime apps on macOS/Linux. 3. **Visual Studio Code**: Remotely debugs .NET via the C# extension. 4. **JetBrains Rider**: Supports remote debugging of .NET on Linux.
|
4月前
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
|
6月前
|
机器学习/深度学习 JSON 测试技术
CNN依旧能战:nnU-Net团队新研究揭示医学图像分割的验证误区,设定先进的验证标准与基线模型
在3D医学图像分割领域,尽管出现了多种新架构和方法,但大多未能超越2018年nnU-Net基准。研究发现,许多新方法的优越性未经严格验证,揭示了验证方法的不严谨性。作者通过系统基准测试评估了CNN、Transformer和Mamba等方法,强调了配置和硬件资源的重要性,并更新了nnU-Net基线以适应不同条件。论文呼吁加强科学验证,以确保真实性能提升。通过nnU-Net的变体和新方法的比较,显示经典CNN方法在某些情况下仍优于理论上的先进方法。研究提供了新的标准化基线模型,以促进更严谨的性能评估。
177 0
|
6月前
|
自然语言处理 C# 图形学
​一款开源的.NET程序集反编译、编辑和调试神器
本文介绍了.NET反编译和调试工具dnSpyEx的使用方法。dnSpyEx是dnSpy的非官方Fork版本,支持.NET Framework、.NET Core和Unity程序集的调试和编辑,具有多种语言界面。主要功能包括:浅色、蓝色和深色主题,调试支持,代码编辑以及多语言支持。用户可以从GitHub下载并直接运行dnSpyEx,无需安装。通过创建测试项目,编译成dll文件,然后使用dnSpyEx进行调试和编辑程序集中的代码和IL指令。此外,文章还提供了项目源码地址和相关优秀项目的链接。
136 0
|
7月前
|
机器学习/深度学习 算法 数据可视化
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
|
7月前
|
程序员 数据库
VB.NET—Bug调试(参数话查询、附近语法错误)
VB.NET—Bug调试(参数话查询、附近语法错误)
69 0