Qt5应用中的分段故障(堆芯倾倒)

Qt5应用中的分段故障(堆芯倾倒),qt,qt5,Qt,Qt5,我有一个在qtcreator中运行良好的Qt5应用程序,但是如果我试图通过终端创建的可执行文件运行,我会得到 Segmentation fault (core dumped) 我在Qt中尝试过调试模式,但没有出现错误。如果程序在调试器外部运行时崩溃,但在调试器内部运行时没有崩溃,则可能表明您正在使用未初始化的数据。更具体地说,是未初始化的指针 调试器通常会清除所有数据,包括局部变量。这意味着,例如,在调试器中运行时,指针将为NULL。但是,如果不初始化某些局部变量,则在调试器外部运行时,其内容

我有一个在qtcreator中运行良好的Qt5应用程序,但是如果我试图通过终端创建的可执行文件运行,我会得到

Segmentation fault (core dumped)

我在Qt中尝试过调试模式,但没有出现错误。

如果程序在调试器外部运行时崩溃,但在调试器内部运行时没有崩溃,则可能表明您正在使用未初始化的数据。更具体地说,是未初始化的指针

调试器通常会清除所有数据,包括局部变量。这意味着,例如,在调试器中运行时,指针将为
NULL
。但是,如果不初始化某些局部变量,则在调试器外部运行时,其内容将不确定,对
NULL
的检查将显示“这不是NULL,请继续”,并且您将引用此未初始化的指针并进入未定义行为的区域


您需要检查所有局部变量,尤其是指针,并确保在使用它们之前对它们进行初始化。

如果程序在调试器外部运行时崩溃,但在调试器内部运行时没有崩溃,则可能表明您正在使用未初始化的数据。更具体地说,是未初始化的指针

调试器通常会清除所有数据,包括局部变量。这意味着,例如,在调试器中运行时,指针将为
NULL
。但是,如果不初始化某些局部变量,则在调试器外部运行时,其内容将不确定,对
NULL
的检查将显示“这不是NULL,请继续”,并且您将引用此未初始化的指针并进入未定义行为的区域


您需要检查所有局部变量,尤其是指针,并确保在使用它们之前对它们进行初始化。

在Linux上?检查/var/log/syslog,看看它是否在那里报告。在ubuntu 13.10上,64位Build带有调试信息,并在调试器中运行。是否尝试使用命令行gdbOn Linux?检查/var/log/syslog以查看它是否在那里报告。在ubuntu 13.10上,使用调试信息进行64位Build,并在调试器中运行。尝试使用命令行gdb