调试器中的完整错误消息:
“劣质停止因为它触发了异常。由异常停止在线程0中 0xfbdeba,代码:0xc0000005:在0x0读取访问冲突,标志= 0x0。“
我可以编译我的代码而没有任何错误,但是当我运行它或调试时,它会崩溃,
当我使用A QMessagebox显示消息时抛出此错误,如果我注释掉此消息程序正常运行。在初始化QApplication之后,我尝试将QMessagebox放在main.cpp中,同样的错误存在。
我无法理解这个错误的原因是什么???
请指导我。 我在msvc 2010编译器中使用 QT 4.8.1。
我尝试做的事情:我尝试更改名为Open-sankore的开源应用程序(源代码here ...)并尝试检查用户是否填写了注册表单?如果没有向用户显示消息框。
我将代码部分添加到UBApplication :: exec(..)的第一行。
int UBApplication::exec(const QString& pFileToImport)
{
if(CheckLock() == -1)
{
QMessageBox myBox;
myBox.setText("Please Complete The Registration form to continue!");
myBox.setWindowTitle("Warning!");
myBox.exec();
}
发生错误后,调试cursur转到UBBoardController.h并在
下面运行UBBoardView* controlView()
{
**return mControlView;**
}
答案 0 :(得分:3)
我发现在尝试使用未初始化的变量时,通常会发生此错误。
答案 1 :(得分:0)
在析构函数中删除未使用的对象时会发生此错误。
答案 2 :(得分:0)
我找到了一个答案:发生此错误主要是在未初始化一个指针时发生的。您应该检查UR代码以找到它。例如:
T* t;
t=NULL;
只需将指针设置为“ NULL”即可。