Skip to content

能否支持tombstone机制 #2117

@myzhan

Description

@myzhan

目前业务上遇到了分析coredump比较麻烦的问题,因为服务端在海外的k8s集群里面,一旦coredump了,k8s不会保留现场,会直接重新拉起新的容器。一个大的coredump文件,从海外拉回来比较麻烦。

内部讨论了一下,可以在skynet内部捕获信号,在coredump的时候,把一些关键信息保存到文本,可以快速确认一下问题的范围。

参考android的tombstone机制,我实现了以下功能,如果觉得这个机制有用,我可以提一个PR。

  1. 保存寄存器的值
  2. 保存崩溃的线程堆栈
  3. 如果在跑lua代码,把lua的堆栈也保存下来
  4. 重新抛出信号,让系统生成coredump文件

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions