解决FreeBSD上的程序崩溃
jf wang Lv5

第一步:开启核心转储

1
2
3
4
kern.corefile=/var/db/coredump/%N.core
kern.coredump=1
kern.nodump_coredump=1
kern.sugid_coredump=1

当前设置,会让进程崩溃后,将核心转储至/var/db/coredump/文件夹下.

第二步:等待

定期检查/var/log/message文件,等待程序崩溃事件的到来.

第三步:调试

  • 使用lldb打开core文件
    1
    lldb -c /var/db/coredump/mosquitto.core -- /usr/local/sbin/mosquitto
  • 打开,进入后执行bt就看到详细错误了.非常简单.

过程如图:
image

这表明是libgdb.so扩展里,调用strcmp函数时,参数给错了!

so easy!~

  • 本文标题:解决FreeBSD上的程序崩溃
  • 本文作者:jf wang
  • 创建时间:2021-02-27 17:50:34
  • 本文链接:https://www.wangjunfeng.com.cn/2021/02/27/freebsd-lldb-debug-programe/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!