为什么Visual Studio调试器会跳过有效行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Visual Studio调试器会跳过有效行?相关的知识,希望对你有一定的参考价值。
我正在使用Visual Studio 2017中的VB.NET程序。调试器每次都会完全跳过一段代码。我已经重写了十几次试图让它工作。代码优化已关闭。我尝试删除解决方案文件夹和子文件夹中的每个文件,除了源文件和从头开始重建。没变。谷歌没有给我一个解决方案。
在这种情况下,ClientList
有两个元素,所以.Count
是2。
我想从最后一个元素遍历到第一个元素,所以我在第209行使用for循环。
在调试时,我验证计数是2,因此调试器应该通过for循环两次。但在第209行之后,它直接跳到第228行。
我包含了第二个循环用于比较,因为它总是调试很好,即使它正在做同样的事情,迭代ClientList
的元素。
有人能为我解决这个问题吗?我花了大部分时间在这上面,在我有解决方案之前无法再进一步。
答案
将Step -1
添加到For
语句中,它应该按预期工作。
For ClientIndex As Integer = ClientList.Count -1 To 0 Step -1
step的默认值为1。
意味着,没有Step -1
,循环计数器的值会递增,因此循环永远不会运行,因为1
(ClientList.Count-1
)已经大于0
。
以上是关于为什么Visual Studio调试器会跳过有效行?的主要内容,如果未能解决你的问题,请参考以下文章
如何确定为啥 Visual Studio 在构建解决方案时可能会跳过项目
Visual Studio不会调试到引用的DLL(来自相同的解决方案)