非常奇怪的行为:我的c++程序突然退出,但它在Eclipse CDT的调试模式下完美地运行到了最后
Very Strange behavior: My c++ program suddenly exit but it run flawlessly o the end in debug mode in Eclipse CDT
我在ubuntu 64位的Eclipse CDT中有自己的c++程序,该程序使用外部编码检测库。正如您可能猜测的那样,我使用gcc来编译我的程序,并使用GDB进行调试。现在,我在编程生活中看到的最奇怪的行为是:当我在Eclipse中使用"debug As"调试程序时,它完美地工作到最后,但当我选择"Run As"时,它将突然终止在程序的中间,而不会在控制台中显示任何错误或异常消息!!!
有人知道这个奇怪的问题吗?
真正帮助我的是找到UB行为,正如@PaulMcKenzie所建议的那样。对于clang
/gcc
,您可以添加-fsanitize=undefined
来查看问题的原因。换句话说,编译并运行这样的程序:clang -fsanitize=undefined -o myprogram myprogram.c -O3
,然后修复打印到控制台中的问题。
相关文章:
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 在调试模式下引发C++ "deque iterator not dereferencable"异常
- _mm256_load_ps调试模式下导致谷歌/基准测试的分段错误
- Visual Studio 发布模式阻止在调试模式下执行的代码.使用 WinHTTP 和多线程
- 自定义内存管理器在发布模式下工作正常,但在调试模式下则不然
- 使用Qt Creator在调试模式下编译一段代码
- 在调试模式下,所有程序都运行良好,但在发布模式下,我在cudaMalloc操作中出错
- 在类声明中初始化 const 成员变量时在调试模式下出现异常
- 在调试模式下编译时qrc_resource.cpp错误
- 如何在调试模式下通过终端运行可执行的 c++?
- 在Visual Studio 2017上无法使用调试模式x64进行OpenCV3.2编译
- 在调试模式下使用英特尔 TBB
- 我的代码在发布模式下不起作用,而在Qt的调试模式下工作
- SCANF 在 Eclipse 中不接受调试模式下的输入?
- 为什么我的 UWP 游戏在发布时比在调试模式下慢
- 未处于调试模式时正常启动测试
- 我如何调用在调试模式下具有主要的程序或代码
- 在CLION中调试模式和运行模式之间的怪异结果
- 调试模式下的dlib静态lib错误
- ifstream读取二进制文件在发行模式下工作,但在调试模式下不使用