c++ - 程序在部署时表现异常

标签 c++ visual-studio

我有大麻烦了。请帮忙。 我为我的客户创建了一个游戏。 当我从 Visual Studio 2008(在发布和调试配置中)运行它时,它工作正常。

但是当我运行它的独立 exe(或制作安装项目)时,它不能很好地工作。 它可以工作,但不能完全正常工作,并且问题是一致的(当我编译和运行独立的 exe 时,它​​每次都显示相同的问题)。

我过去也遇到过这个问题,但幸运的是我解决了它。解决问题的方式非常不寻常:- 一切都运行良好,然后我对代码进行了一些修改。应用程序开始显示与上述相同的异常行为。然后我开始逐一回滚代码中的修改。 当我从一个类中删除一个特定的变量并使用它时,游戏开始运行得很好。然后我检查了所有的 C++ 规则和每件事,但在我的实现中没有发现任何问题。当我从 Visual Studio 运行时,甚至每件事都运行良好. 但是我需要该变量及其在游戏中的使用以实现游戏的某些功能。所以,那一次我在 PUBLIC 中声明了该变量(以前它是一个 protected 变量)并且一切都运行良好。

我很惊讶地看到这种不寻常的行为,每当我将变量声明为 PROTECTED 时就会出现问题,但如果我复制并粘贴到 Public 中,问题就解决了。(该变量仅在声明它的类中使用所以应该没有任何问题)。

请帮助我,我又遇到了这个不寻常的问题,这次没有得到任何解决方案。

请告诉我可能导致此问题的原因。 谢谢 塔伦

最佳答案

如果它发生在调试器之外,而不是在调试器内部,您可以使用 _NO_DEBUG_HEAP 环境变量重现它,如此处(以及其他地方)所述:Link

设置此变量应该使在调试器下运行的程序表现得更像在调试器外运行的程​​序。

您可以在 Visual Studio 中设置环境变量,因此它们只影响调试的进程:How do I set specific environment variables when debugging in Visual Studio?

关于c++ - 程序在部署时表现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4144230/

相关文章:

c++ - 在模板调用中将包装器类隐式转换为父类(super class)

javascript - "Windows Phone HTML5 App"和 "Javascript Windows Store Project"之间的区别

c++ - 引用成员绑定(bind)到一个临时对象,该对象的生命周期短于构造对象的生命周期

C++使用For循环创建双向链表

c++ - 两个函数变量到一个函数

visual-studio - 如何阻止 Visual Studio 自动创建解决方案文件

visual-studio - 在 Visual Studio (2008) 中,有没有办法在另一个自定义文件上创建自定义依赖文件?

c# - .Net Core 控制台应用程序中未找到依赖项 - 启动时显示为缺失

c++ - 当前正在运行哪个单元测试?

c++ - 命名执行多个操作的方法