zoukankan      html  css  js  c++  java
  • Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃 (需要在运行时生成core dump文件,QMAKE_CC += -g)

    记录一下

    Ubuntu16.04下写的Qt程序,调试时没问题,运行时偶现崩溃

    需要在运行时生成core dump文件

    首先在pro结尾里加入

    QMAKE_CC += -g
    QMAKE_CXX += -g
    QMAKE_LINK += -g
    

    在终端输入 ulimit -c 显示为 0

    然后输入 ulimit -c unlimited

    继续在终端运行编写的程序

    出错后,会在当前目录生成 core 文件

    然后在终端执行 “gdb 你的程序名 core”

    然后输入 bt 对该错误进行跟踪调试

    (gdb) bt
    

    会出现形如下图的代码

    #0  0x00007fd05dc8fc37 in __GI_raise (sig=sig@entry=6)
        at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    #1  0x00007fd05dc93028 in __GI_abort () at abort.c:89
    #2  0x00007fd05e59a535 in __gnu_cxx::__verbose_terminate_handler() ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #3  0x00007fd05e5986d6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #4  0x00007fd05e598703 in std::terminate() ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #5  0x00007fd05e598922 in __cxa_throw ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #6  0x0000000000505a6c in Calibration::fromPath(boost::filesystem::path) ()
    #7  0x0000000000550b32 in TonavRos::run(int, char**) ()
    #8  0x000000000050183e in main ()
    

    然后 输入 up 数字、 down 数字 可以进入

    比如我输入 up 6

    接着输入 l(list的第一个字母),可以查看出错的源码

    https://zhuanlan.zhihu.com/p/48607048

  • 相关阅读:
    简单聚合查询
    简单搜索入门
    简单的document操作
    快速检测集群的健康状况
    Log4j和Slf4j的比较
    javascript中escape()、unescape()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent()比较
    Spring-data-jpa详解,全方位介绍。
    JSON关联属性转换异常
    原生类型 和 参数化类型
    Spring Data JPA
  • 原文地址:https://www.cnblogs.com/findumars/p/10392832.html
Copyright © 2011-2022 走看看