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

一、快速设置断点

操作:

  1. 在代码编辑器左侧行号区,点击即可打上/取消红点。
  2. 或选中行,按 F9

案例:

// Form1.cs 中
private void buttonSave_Click(object sender, EventArgs e)
{
    var text = textBoxName.Text;    // ← 在这一行打断点
    SaveName(text);
}

运行(F5),点击按钮后,程序会在断点处暂停,你可以查看 text 的当前值。


二、条件断点

操作:

  1. 右击已设置的断点,选择 “条件…”
  2. 填写表达式,如:text.Length == 0
  3. 勾选 “仅当条件为真时中断”

案例:

// 只在输入框为空时才中断
text.Length == 0

textBoxName.Text 为空字符串时才触发断点,其它情况下自动跳过。


三、单步执行

功能快捷键说明
继续运行F5断点间快速运行
单步跳过F10不进方法,直接跳下一行
单步进入F11进入方法内部查看细节
跳出当前方法Shift+F11从当前方法返回到调用处

案例:
ComputeSum(a, b) 调用处按 F11,就能一步步进入该方法内部,观察每个变量如何变化。


四、监视变量 & 快捷查看

  1. 本地 (Locals) 窗口:自动显示当前作用域所有变量。
  2. 监视 (Watch) 窗口:手动添加表达式,实时查看结果。
  3. 立即 (Immediate) 窗口:在暂停时,输入 C# 语句或表达式即时求值,甚至调用方法。

操作:

  • 打开调试 ➔ 其他窗口 ➔ “本地/监视/立即”
  • 在“监视”窗口点 “添加监视”,输入:list.Count
  • 在“立即”窗口输入:DateTime.Now.ToString(),按 Enter 即可看到当前时间。

案例:

var list = new List<int> { 1, 2, 3 };
// 暂停在下一行,监视窗口中输入 list.Sum(),实时查看 6 的结果

五、使用“输出”窗口打印调试信息

操作:
在代码中插入:

System.Diagnostics.Debug.WriteLine($"当前输入:{textBoxName.Text}");

运行时调试输出会打印到 “输出”“调试” 面板,无需打断点即可跟踪变量值。

案例:

private void buttonCalc_Click(object s, EventArgs e)
{
    Debug.WriteLine($"开始计算,参数 = {num}");
    var result = Calc(num);
    Debug.WriteLine($"结束计算,结果 = {result}");
}

六、快速重启调试

当修改了代码后,只需按 Ctrl+Shift+F5 即可“重新启动调试”,不用手动先停止再运行,省时省力。


七、小技巧合集

  • 跳到异常处: 开启“异常设置”(Ctrl+Alt+E),勾选“公用语言运行时异常”的“Thrown”,遇到未捕获异常自动中断。

  • Tracepoint(跟踪断点): 右击断点 ➔ “操作…” ➔ 勾选“打印消息”并填写 {value},无中断只打印。

  • 调试时修改变量: 在“监视”或“本地”窗口双击某个变量,即可实时替换它的值,用于模拟不同场景。

    小编总结码字不易,如果感觉对你有帮助的话请点赞收藏吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码畔星连

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值