正在使用VC ++控制台应用程序。
此应用程序从Appdata \ Roaming文件夹发送文件一段时间。
遇到此崩溃错误会发生什么:
Problem signature:
Problem Event Name: APPCRASH
Application Name: App.exe
Application Version: 1.0.0.2
Application Timestamp: 51c02fa8
Fault Module Name: PCMeter.exe
Fault Module Version: 1.0.0.2
Fault Module Timestamp: 51c02fa8
Exception Code: c0000005
Exception Offset: 000069eb
OS Version: 6.1.7601.2.1.0.256.48
Locale ID: 1033
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
有谁可以帮我解决这个问题
答案 0 :(得分:31)
异常代码c0000005
是访问冲突的代码。这意味着您的程序正在访问(读取或写入)其没有权限的内存地址。最常见的原因是:
N
的数组时,你可以访问索引为>=N
的元素。要解决此问题,您需要进行一些调试。如果您无法在开发计算机上的调试器下发生故障,则应获取故障转储文件并将其加载到调试器中。这将允许您查看代码中代码的位置,并希望引导您找到解决方案。您需要具有与可执行文件关联的调试符号才能看到有意义的堆栈跟踪。
答案 1 :(得分:-1)
我在为作业运行批量测试时遇到了同样的问题。事实证明,当我将一些 iostream 操作(打印到控制台)从类构造函数重定位到类中的方法时,它解决了。
我认为这与构造函数中的 iostream 操作有关。
修复方法如下:
// Before
CommandPrompt::CommandPrompt() : afs(nullptr), aff(nullptr) {
cout << "Some text I was printing.." << endl;
};
// After
CommandPrompt::CommandPrompt() : afs(nullptr), aff(nullptr) {
};
请随意解释更多幕后的错误,因为它超出了我的 cpp 知识。