Debug.Assert() 没有被抛出
Debug.Assert() isn't thrown
我有以下代码:
正如您在快速查看工具提示中看到的那样,nNewCell.Style 是空的。
尽管如此,行
Debug.Assert(nNewCell.Style IsNot Nothing)
Debug.Assert(nNewCell.Style.GUID <> "")
没有被抛出。
IDE 不会引发异常或停在那里,IDE 只是忽略这些行。
我的项目设置是Debug x86。
可能是什么导致了这个问题?
项目属性 ➤ 编译 ➤ 高级编译选项
您将看到 Define DEBUG constant
的复选框。必须检查 Debug
功能才能正常工作。如果不是,它们将被忽略并且不会编译到您的程序集中。
这看起来确实像您缺少 DEBUG
常量,因为您的代码应该由于行 Debug.Assert(nNewCell.Style.GUID <> "")
而抛出 NullReferenceException 而您的屏幕截图显示它是 Nothing
。
一个简短的笔记。这个问题很容易引起,在追踪与此相关的问题之前我已经浪费了相当多的时间。创建新配置时,请始终复制适当的类型(调试或发布)。像这样的问题通常是由于复制了 Release 或非调试配置,然后试图将它们视为调试引起的。
我有以下代码:
正如您在快速查看工具提示中看到的那样,nNewCell.Style 是空的。 尽管如此,行
Debug.Assert(nNewCell.Style IsNot Nothing)
Debug.Assert(nNewCell.Style.GUID <> "")
没有被抛出。
IDE 不会引发异常或停在那里,IDE 只是忽略这些行。
我的项目设置是Debug x86。
可能是什么导致了这个问题?
项目属性 ➤ 编译 ➤ 高级编译选项
您将看到 Define DEBUG constant
的复选框。必须检查 Debug
功能才能正常工作。如果不是,它们将被忽略并且不会编译到您的程序集中。
这看起来确实像您缺少 DEBUG
常量,因为您的代码应该由于行 Debug.Assert(nNewCell.Style.GUID <> "")
而抛出 NullReferenceException 而您的屏幕截图显示它是 Nothing
。
一个简短的笔记。这个问题很容易引起,在追踪与此相关的问题之前我已经浪费了相当多的时间。创建新配置时,请始终复制适当的类型(调试或发布)。像这样的问题通常是由于复制了 Release 或非调试配置,然后试图将它们视为调试引起的。