劣势停止了,因为它引发了异常。异常停止在线程0中?

时间:2013-07-05 22:02:00

标签: qt debugging visual-studio-2010

调试器中的完整错误消息:

“劣质停止因为它触发了异常。由异常停止在线程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;**
    }

3 个答案:

答案 0 :(得分:3)

我发现在尝试使用未初始化的变量时,通常会发生此错误。

答案 1 :(得分:0)

在析构函数中删除未使用的对象时会发生此错误。

答案 2 :(得分:0)

我找到了一个答案:发生此错误主要是在未初始化一个指针时发生的。您应该检查UR代码以找到它。例如:

T* t;
t=NULL;

只需将指针设置为“ NULL”即可。