【发布时间】:2010-01-19 22:31:22
【问题描述】:
我刚刚遇到了有史以来最令人难以置信的错误之一。 false == true 你们需要什么信息来确认/调试这种行为?我从来没有见过这样的东西。
- VS2008 sp1
- 调试模式 |任何 CPU
- IIS 7.5
编辑: 我做了一个干净的->重建,还是一样。
这是程序集和寄存器。我不知道如何阅读,但也许它可以帮助其他人。
【问题讨论】:
-
尝试使用 quickwatch 来评估 result == true - 如果您的调试器显示 result 的值为 false,我想它会评估为 false。在这一点上,在 if 语句被评估之后,也许有什么东西正在改变 result 的值?调试器也可以改变结果的值...
-
另外,为什么不干脆去掉“
== true”呢?我更喜欢:if (result) -
相关:在 VB.net 中 true 并且 true 并不总是正确的:msmvps.com/blogs/bill/archive/2004/06/23/8730.aspx
-
在军事时期这真的可能发生
-
唉,它不是 C++。否则我会争辩说最近被解雇的同事有时间将
#define true false //happy debugging, ...放入代码库中。
标签: c# .net visual-studio debugging