我注意到我正在开发的应用程序(用 C#/XNA 编写的游戏)有时会表现出不同的行为,具体取决于它是否从 Microsoft Visual Studio (2010) 中启动,而不是在 MSVS 之外启动时(例如从 Windows 资源管理器)。具体来说,有时我会得到在 MSVS 中不会发生的错误(出现异常)。
造成这种差异的原因可能是什么?理想情况下,有一种方法可以让 MSVS 尽可能严格地检查应用程序,这样我就可以确定在开发过程中所有错误都确实发生(并且可以修复)。
该问题发生在发布和调试模式下。游戏使用了许多外部 dll(nuclex lib、sharp dx),但这些库都在 MSVS 内部和外部使用。游戏完全在一个线程中运行。
请注意,问题不是关于我需要调试的特定错误,而是关于(可能)由应用程序启动方式引起的一般差异。