天天看点

Linux下 Qt程序异常结束调试

首先确保系统已经安装GDB(使用的是Qt Creator)

  • 先编译运行,报错之后,进入到项目目录,这时回产生一个core*文件
  • 如果没有发现core*文件,那是因为系统默认的core文件大小为0不显示,这时则需要ulimit命令修改大小
  • 已我的机器为例,ulimit -a查看大小
    Linux下 Qt程序异常结束调试
  • 终端输入ulimit -c unlimited设置文件不做限制,注意不要在另起终端,因为ulimit命令设置后只对一个终端有效,另起终端需要重新设置
  • 然后当前终端运行你的程序,./exefile
  • ls core*就会发现产生的core文件
  • gdb ./exefile core,然后输入r 运行程序,然后重现崩溃的操作,然后输入bt, 就可以看到导致问题出现的原因了
    Linux下 Qt程序异常结束调试