0

我有一个在几台机器上运行良好的 C++ 应用程序。但我发现不止一台 PC 上的应用程序因错误而失败:

此应用程序已请求运行时以不寻常的方式终止它。请联系应用程序的支持团队以获取更多信息。

有趣的是,在一台计算机中,它部分工作,部分不工作。几天前它因错误而失败,现在它可以工作了。

这种行为的原因可能是什么?

4

1 回答 1

1

正确的态度不是它在某些机器上失败——而是“我的程序到处都是错误的——它只是巧合地在某些机器上工作”

最有可能的是一个未初始化的变量,它恰好指向工作机器上的空内存和零内存,但指向其他机器上的垃圾,或者您没有检查某些分配是否失败并且工作机器有很多内存。另一个常见问题是某些运行时库的不同版本。

建议:
在编译器上调高警告级别
尝试调试构建 - 这些通常会将所有变量设置为零
这是了解堆栈转储和远程调试的好机会

于 2012-06-20T14:27:51.147 回答