返回信息流在做一个C#程序。有这么一个情景。就是
try
{
value = row["Singular"];
}
catch (KeyNotFoundException)
{
value = row["Name"];
}
…balabala
其中try块里面后续代码有几率抛KeyNotFound的,所以这么写。而且用的地方很多数据量很大、过程代码是第三方dll库不好改还要对接日后更新,以至于绕不开这种写法。
奇怪的来了,开着调试,程序运行到这里,里面的代码要抛出异常的话,就卡死了不动了(这一行没有断点、异常断点、这个时候VS里看程序还是运行状态)。这时候点一下调试的暂停就会发现程序卡在抛出异常的那一行,不运行了。诊断工具的计时也不走了。点一下调试的逐过程,就能在这一圈跳出来。然而用的很多,总不能一直一下下点,点个继续就又卡住了。
然后鼓捣鼓捣搜索来搜索去,发现了一个奇怪的解决方法就是在这一行之后的代码加个断点就能跑出来了。尝试加了同函数内之后加了断点发现确实能跑出来了,但是没啥区别因为在循环里数据量很大。在循环外面加断点又不行了还是卡在抛出异常那一行。非常的诡异。
不通过VS调试运行程序,直接打开编译好的debug版本就一点问题也没有了,但…总要debug呀…
已经尝试了重新生成解决方案、重启电脑、更新VS等方法都没有效果。异常设置已经设置了不在KeyNotFound时断下程序。孩子想不通了,求助各位大佬,总不会是我的VS闹鬼?
这是一条镜像帖。来源:北邮人论坛 / dot-net / #4947同步于 2021/10/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
dotNET机器人发帖
【问题】VS2019诡异bug
CyanClay
2021/10/19镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
应该没有,如果是指文件路径的话,有比他更长的。如果是指地址/堆栈的话就不清楚了,应该不至于?
【 在 hxd3d (hxd3d) 的大作中提到: 】
: 是不是文件名或者地址太长了
亲身经历,vs就是会闹鬼。
【 在 CyanClay 的大作中提到: 】
: 应该没有,如果是指文件路径的话,有比他更长的。如果是指地址/堆栈的话就不清楚了,应该不至于?
已经是闹大鬼了 重装VS、删除项目VS配置 都没用
【 在 NianNianBw (SanSheng) 的大作中提到: 】
: 亲身经历,vs就是会闹鬼。