人难今,求助一下,Linux系统,程序的错误打印会自动保存吗?

  • 我好像是小号
    如题目。。。是这样的,系统是Ubuntu16 运行了的程序是qt5写的,可能程序有bug,偶尔会突然崩溃关闭,程序崩溃之后应该会有错误信息,请问一下这个错误信息,Ubuntu系统会保存起来嘛?
    如果Ubuntu不会自动保存,我qt程序有什么办法保存嘛?
    偶发崩溃哎,我看不到错误信息,崩溃就被关机了。
    看不到错误信息就没办法查找原因,虽然可能那个错误信息也没什么用
    iOS fly ~
  • j
    jckimi
    segmentation fault 好像会触发一个core dump的。如果不是的话,那就只能你自己写Log到某个路径下了。
  • 我好像是小号
    回复2#jckimi
    大佬自己写日志?就是让qt程序来记录?关键是那一瞬间qt程序他自己都崩溃关闭了,还能记录嘛?
    系统自带的日志怎么样看啊? iOS fly ~
  • 我好像是小号
    回复2#jckimi
    好像是var目录?


    iOS fly ~
  • j
    jckimi
    回复3#我好像是小号


    废话,log肯定要自己写啊,弄个简单的log系统,分级别打印到文件,或者console上。崩溃那个时间肯定没法儿自己记录,但是从前面的log,可以大致看出在哪个地方崩溃的。慢慢找。core dump你即使找到了,怕是你也看不懂,里面都是一些pc寄存器,栈空间什么的dump。
  • 我好像是小号
    回复5#jckimi
    咦,qt程序崩溃了,会显示一行英文信息啊,大概指出是什么错误,比如段错误,内存越界什么的 iOS fly ~
  • 我好像是小号
    回复2#jckimi
    https://blog.csdn.net/yuntongsf/ ... romBaidu-3.nonecase

    这个方法靠谱吗? iOS fly ~
  • i
    ipzh
    程序又不是你写的,让写的人解决
  • 我好像是小号
    回复8#ipzh
    写的不懂Linux系统啊,只懂Windows qt iOS fly ~
  • i
    ipzh
    那就按上面的说法,程序中自己打log
  • s
    sslxf000
    试试nohup 把日志重定向到文件。
  • y
    ywergs
    看程序运行路径下有core文件没 或则自己写一个signal handler 调用backtrace这样的api 自己写到一个文件去。
  • b
    by曲终人散
    var/log下也是程序控制输出的,不是自动保存的,程序没写就没有,写了肯定在某个地方。
  • 我好像是小号
    回复13#by曲终人散
    qt开发 c加加的写的程序,要怎么样输出崩溃信息到日志?有啥关键词嘛?我了解一下,好说给程序猿听 iOS fly ~
  • v
    vxworks
    加上strace启动,跑一把看看如何
  • b
    by曲终人散
    回复14#我好像是小号


    不知道,不会qt和c++,但是他们应该会,你提一嘴,他就知道了。
  • 多聋
    这么纯的技术问题还是去csdn问吧。
    顺便打一句,ulimit -c unlimited。
    你找这个程序员不合格,qt就是为了跨平台用的,只会win做什么跨平台。
  • C
    Cappuccin0
    楼上用ulimit的办法让程序可以产生coredump最省事 大部分信息基本都有
    要是做不到就自己加日志 用syslog或者写到stderr再转向到文件或者直接写文件 只是用syslog可能异常情况记录的东西更多
    最好自己在程序里加上abort/segfault/terminal的signal handler 程序挂掉之前记一下调用栈什么的会省事很多 iOS fly ~