Visual Studio 2013调试时变量值不正确

6
我有一个关于Visual Studio 2013的问题,它显示了不正确的值。
有两个同名变量,但它们处于不同的作用域。 enter image description here

1
你尝试过重命名第二个变量吗?我知道它们有不同的作用域,但我只是好奇是否因为相同的名称导致了 VS 中的 bug。 - heringer
你的代码是否在不同的线程上运行? - Amit Tiwari
1
旁注 - 是我自己的问题还是这里有很多代码重复,而你真正想知道的只是要填哪些细节?你可以将其重构为一个方法并调用两次。 - Yuval Itzchakov
1
@Amit 为什么这个需要多线程?dbItem是一个本地变量。 - Yuval Itzchakov
@Amit 不是多线程的。即使它是一个多线程应用程序,变量也在同一个线程中。 - TC Tarım Köy İşleri
1
@Yuval,是的,我知道。这是重复的代码。但这不是我的问题 :)。 - TC Tarım Köy İşleri
2个回答

0

首先,我会给第二个变量重新命名,这将有助于您在调试此问题时进行区分。此外,我自己也遇到过这种问题,而且它总是会发现另一个操作已更改了该值。您的变量是一个类,因此随着对它执行操作,总会有某个地方的东西会改变它。

我会检查每个接触(传递)该变量的地方,并查看是否有您忽略的内容。

祝你好运。


-2

我看到了同样的事情。在Visual Studio中运行,然后依次从PowerShell提示符中运行,在那里我使用write-debug命令查看值,并在write语句中看到了我期望的结果,但在debug中没有。

#Add this, and then run the same file in the powershell prompt 

"%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe" "FILENAME"

#In the code
Write-Debug($myvariable)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接