C#调试时,监视栏里慎用函数!

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

写了个读取已知内容格式文件类,在文件中每条记录前面都有一个'*',先用如下语句查找到'*':
int laxi = reader.Read() ; 
while(laxi != (int)'*'  && laxi != -1)
{
}
然后读取后续内容。

在调试的时候,我发现,有时候能正确读取到完整的后续内容,有时去跳过了后续内容前一两个字符。后来发现,原来是在监视栏里直接用了reader.Read()这个语句的返回值来查看,这样实际上每查看一次(程序运行到断点后中断,之后再继续运行),reader.Read()实际上在程序代码之外又外运行了一次,所以才会出现真正想要读取后续内容的时候,已经跳过去了一两个字符。

 

Visual Studio 调试系列6 监视变量(使用监视窗口和快速监视窗口) 系列目录 【已更新最新开发文章,点击查看详细】 当你进行调试,可以使用 监视窗口 和 快速监视窗口来监视变量和表达式。 仅在调试会话期间,这两个窗口才可用。 监视窗口可以在调试一次显示多个变量。 快速监视对话框一次仅显示单个变量,并可以继续调试之前,必须关闭。 01 观察使用监视窗口变量 示例代码: private static void Main(st... 阅读详情

相关推荐

【别再靠“玄学”抓 Bug 了!C# 调试其实是一场科学围猎】

C# 调试、Visual Studio 调试器、断点、科学调试、初学者编程

m0_49253732的博客 527

c# TraceEventSession 监控应用程序的启动与退出

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 上一篇提到了 Process 与 [WMI] ManagementEven

北京-老黑的博客 1705

VS2022 必备:C# WinForms 快速调试妙招!

本文介绍了7个VS调试实用技巧:1)快速设置/取消断点(点击行号或F9);2)设置条件断点(右击断点设定触发条件);3)单步执行方法(F10跳过/F11进入/Shift+F11跳出);4)利用本地/监视/立即窗口查看变量;5)使用Debug.WriteLine输出调试信息;6)Ctrl+Shift+F5快速重启调试;7)高级技巧包括异常中断、跟踪断点和修改变量。这些方法能有效提高调试效率,帮助开发者快速定位问题。感觉有帮助的话请点击收藏吧!

weixin_42212753的博客 767

C# WinForm 监视文件变化程序

C# WinForm 监视文件变化程序前言效果图步骤第一步、创建FileSystemWatcher对象第二步、创建窗体的Load事件第三步、编写startMonitor()函数第四步、编写Changed()函数结束 前言 最近做项目,遇到一个需求,要求是能监控windows系统中某个文本文件的变化,一旦文件变化,要能捕获到这个事件,然后做出相应。实现起来也很简单,见下文。 效果图 演示效果如下: 当watchme.txt文件内容发生变化,程序能够检测到这个事件,捕获变化文件的路径,为后续读取文件内容做相应

滕圣的博客 2382

C#进程实监控代码

第一步,新建一个C#控制台应用程序项目WinProcess   第二步。建一个 ProcessInfo类   1)先添加两个命名空间 using System.Management; using System.Diagnostics; 2)在

天地不仁,以万物为刍狗 2345

C# 委托监控属性变量

C# 委托监控属性变量一、委托二、示例三、参考四、总结 一、委托 C# 的委托类似函数指针,可以用于定义回调方法。一个委托可以代理多个被调的方法。 二、示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Demo { class VChange { // 构造方法 public VChange()

小小的进步 1646

C#之程序调试方法总结

C#之程序调试方法总结   在写程序过程中,调试程序是必不可少的步骤,现总结几种C#程序的调试方法:     (1)设置断点   所谓的断点,就是当程序运行到此处后会自动中断。设置断点的方法又两种:   ①单击需要设置断点的行,然后直接按键盘上的F9键;   ②直接用鼠标单击需要设置断点的行前面的灰色区域即可。   在设置断点的红色圆圈上右击会出现一个下拉列表,其中: 条件 指的是一个布尔类型的表达式,如果满足条件则触发断点; 命中次数 如果满足设置的指定次数,则出发断点; 筛选器 用于限制

Kevin_Sun777的博客 1万+

C#调试)添加变量进入窗口监视

对官网的调试重新做了一个更详尽的介绍。

m0_61822293的博客 3916

C#调试进阶:Visual Studio监视窗口的深度应用与性能优化

在软件开发中,调试是定位和修复程序错误的核心环节,其本质是通过观察程序运行的内部状态来理解代码的实际行为。调试器作为开发者的“手术刀”,提供了多种数据观察窗口,其中监视窗口因其灵活性和持久性成为精准调试的关键工具。它允许开发者主动筛选并持久化观察关键变量、属性或复杂表达式,实追踪数据变化,从而深入理解算法逻辑、验证对象状态。从基础的概念切入,监视窗口通过表达式求、条件过滤和对象ID追踪等高级功能,为复杂场景如多线程调试和异步编程提供了强大的支持。在工程实践中,合理使用监视窗口不仅能提升调试效率,还能通

weixin_34080571的博客 415

C#调试从入门到精通

转载自:http://www.cnblogs.com/alexis/  今天我们将要讲述在Visual Studio 2010下,C#调试心得。这一经验适用于大家的日常工作,希望有所帮助。 AD: 我们在做程序开发,难免会遇到错误异常。如何快速地找到出错的地方、分析错误的原因以及找到解决问题的方案,是许多初级程序员困扰的问题,这也正是经验的

压碎起重机 1164

c语言监视1窗口在哪,VC6断点调试之窗口监视(内存监视、寄存器和栈回溯)

在前几讲中,在讲解了断点的基本用法后,给大家介绍了简单的关于变量监视的技术,包括运行中的局部变量监视,也打开了编译器监视的一小扇门,今天将为大家讲解更全面的窗口监视。如下:1.内存监视除了我们之前讲的可以监视程序中的局部变量以外,我们还可以监视其他想要的信息,比如数组中某一元素的,特定地址处的等等。比如我们在学习字符串函数strcoy,很多同学不明白函数的的”覆盖”效果,我们则可以通过内存监...

weixin_35508482的博客 2332

Visual Studio调试(debugging)功能介绍

调试的起源可以追溯到计算机发展的早期阶段。在 20 世纪 40 年代,世界上第一台通用电子计算机 ENIAC 诞生后不久,调试就成为了必要的工作。当,计算机系统由大量的电子管、继电器等组成,硬件故障频繁出现。有一个著名的事件标志着 “调试” 一词的正式诞生。1947 年,Grace Hopper 团队在哈佛大学的 Mark II 计算机上工作,发现计算机故障是由于一只飞蛾被困在继电器中导致的。

2401_86679269的博客 2068

如何:运行远程调试监视

 http://msdn.microsoft.com/zh-cn/library/bt727f1t(VS.80).aspx 如何:设置远程调试 本主题适用于:Visual Studio 版本Visual BasicC#C++J#Web Dev速成版 否

looob的专栏 7391

C#调试程序——断点+几种观察数据的方法

目录 C#调试程序——断点+观察数据的方法 1.写本文的背景 2.调试与测试 3.断点调试 3.1 F10 3.2 F11 3.3 SHIFT+F11 4.监视 4.1 按照1方法打断点,单步调试。 ...

weixin_30287169的博客 1208

Visual Studio中调试C#代码的技巧

摘要:本文介绍了Visual Studio中调试C#代码的实用技巧,包括基础断点操作(条件断点、命中次数断点)、变量监视方法(即窗口、快速监视)、执行流程控制(逐语句/逐过程、运行到光标处)等核心功能。还涵盖复杂场景如多线程/异步调试、异常处理、调用堆栈分析等高级技巧,以及调试配置和符号加载等优化建议。这些方法能帮助开发者快速定位代码问题,提高调试效率,特别适用于复杂项目中的错误排查和性能优化。

前端技术的学习整理 681

c# 开发串口调试助手 Visual Studio 2019

串口调试助手是用于在开发、测试和调试串口通信应用程序进行串口数据的监视和交互的工具。

2301_76792852的博客 8024

VS2022 调试C#的技巧汇总

在Visual Studio 2022中调试C#代码是一项重要的技能,可以帮助你更快地定位和解决问题。

精通搬砖,资深技术砖家,在软件开发,人工智能,设备开发等领域都有研究。商业合作&交流学习可私信联系。 2023
上一篇: C#调用C++动态链接库(dll)
下一篇: 水大了,还是面大了?
notno
博客等级 码龄22年 18粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值