5

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

“下级停止,因为它触发了异常。异常 0xfbdeba 在线程 0 中停止,代码:0xc0000005:在 0x0 处读取访问冲突,标志 = 0x0。”

我可以编译我的代码没有任何错误,但是当我运行它或调试时,它崩溃了,

当我使用 A QMessagebox 显示消息时抛出此错误,如果我注释掉此消息程序运行正常。我尝试在初始化 QApplication 之后将 QMessagebox 放在 main.cpp 中,存在相同的错误。

我不明白这个错误的原因是什么???

请指导我。我使用带有 msvc 2010 编译器的 QT 4.8.1。

我尝试做的是:我尝试更改名为 Open-sankore 的开源应用程序(此处为源代码...)并尝试检查用户是否填写了注册表单?如果不向用户显示消息框。

我在 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;**
    }
4

3 回答 3

3

我发现这个错误主要发生在尝试使用未初始化的变量时。

于 2013-07-18T19:28:42.840 回答
0

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

于 2017-08-04T11:17:35.930 回答
0

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

T* t;
t=NULL;

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

于 2019-11-29T08:14:12.017 回答