0

我有我的小客户端应用程序 - 启动时 - 通过“新”在堆上创建一些用户定义的对象

pHistory = new CHistory;

这没问题,直到昨天一切都运行良好。

我想部署我的应用程序并决定使用 Visual Studio 2010 中的“安装项目”。http://msdn.microsoft.com/en-us/library/dd293568.aspx

但是几分钟前,当我尝试运行程序时(昨天部署后我没有做任何更改),它抛出了一个未处理的异常

CLient.exe 中 0x55b259da (msvcr100d.dll) 处的未处理异常:0xC0000005:访问冲突读取位置 0xccccccc0。

而且我无法想象,为什么...我已经从解决方案中删除了安装项目,但这并没有改变任何东西...如果安装项目对项目设置进行了一些更改,我不知道在哪里和什么...

有没有人熟悉这个或可以帮助?

谢谢你。

编辑:当我通过visual studio调试应用程序时会发生这种情况......而不是在我部署它的另一台计算机上!

4

3 回答 3

2

读取位置 0xccccccc0

调试版本始终使用值 0xcccccccc 初始化局部变量,旨在让您的程序在尝试使用未初始化的变量时崩溃。这很好用,总是很高兴诊断代码中的错误,该错误将导致交付产品中的随机故障。

这当然与您的设置项目无关。使用调试器找出错误所在的位置。调用堆栈应该是关于哪个指针无效的主要提示。

于 2010-08-27T17:04:50.817 回答
0

看起来像未初始化的内存。当您开始准备分发它时,您是否从调试版本更改为发布版本?

于 2010-08-27T17:04:26.130 回答
0

我的新手解决这个问题是创建一个新的解决方案并将旧文件中的每个文件插入到这个新文件中。

它工作正常,现在...

但我仍然不确定是什么导致了这个问题......由于设置项目,我仍然相信原因......但其他回答者告诉我这不是原因:/...

于 2010-08-27T17:27:19.780 回答