为什么Visual Studio调试器会跳过有效行?

问题描述 投票:0回答:1

我正在使用Visual Studio 2017中的VB.NET程序。调试器每次都会完全跳过一段代码。我已经重写了十几次试图让它工作。代码优化已关闭。我尝试删除解决方案文件夹和子文件夹中的每个文件,除了源文件和从头开始重建。没变。谷歌没有给我一个解决方案。

enter image description here在这种情况下,ClientList有两个元素,所以.Count是2。 我想从最后一个元素遍历到第一个元素,所以我在第209行使用for循环。 在调试时,我验证计数是2,因此调试器应该通过for循环两次。但在第209行之后,它直接跳到第228行。

我包含了第二个循环用于比较,因为它总是调试很好,即使它正在做同样的事情,迭代ClientList的元素。

有人能为我解决这个问题吗?我花了大部分时间在这上面,在我有解决方案之前无法再进一步。

vb.net debugging visual-studio-2017
1个回答
2
投票

Step -1添加到For语句中,它应该按预期工作。

For ClientIndex As Integer = ClientList.Count -1 To 0 Step -1

摘自documentation

step的默认值为1。

意味着,没有Step -1,循环计数器的值会递增,因此循环永远不会运行,因为1ClientList.Count-1)已经大于0

© www.soinside.com 2019 - 2024. All rights reserved.