我有我的小客户端应用程序,它在启动时通过“新建”在堆上创建一些用户定义的对象
pHistory = new CHistory;
这没问题,直到昨天一切都运行良好。
我想部署我的应用程序并决定使用 Visual Studio 2010 中的“安装项目”。http://msdn.microsoft.com/en-us/library/dd293568.aspx
但是几分钟前,当我尝试运行程序时(昨天部署后我没有做任何更改),它抛出了一个未处理的异常
Unhandled exception at 0x55b259da (msvcr100d.dll) in CLient.exe: 0xC0000005: Access violation reading location 0xccccccc0.
我无法想象,为什么...我已经从解决方案中删除了安装项目,但这并没有改变任何东西... 如果安装项目对项目设置进行了一些更改,我不知道在哪里发生了什么...
有熟悉这方面的人或可以提供帮助吗?
谢谢。
编辑:当我通过 visual studio 调试应用程序时会发生这种情况...而不是在我部署它的另一台计算机上!!!
最佳答案
reading location 0xccccccc0
调试版本始终使用值 0xcccccccc 初始化局部变量,旨在让您的程序在尝试使用未初始化的变量时崩溃。这很有效,总是很高兴能够诊断出代码中的错误,该错误会导致已交付产品出现随机故障。
这当然与您的设置项目无关。使用调试器找出 bug 所在的位置。调用堆栈应该是关于哪个指针无效的主要提示。
关于c++ - 在 visual studio 2010 中实现安装项目后使用 new 时出现 unhandlex 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3586472/