diff --git a/xray/process.go b/xray/process.go index db8509eb..58d14a1f 100644 --- a/xray/process.go +++ b/xray/process.go @@ -226,6 +226,7 @@ func (p *process) Start() (err error) { if err != nil { logger.Error("Failure in running xray-core:", err) p.exitErr = err + p.witeCrachReport(err) } }() @@ -241,3 +242,8 @@ func (p *process) Stop() error { } return p.cmd.Process.Signal(syscall.SIGTERM) } + +func (p *process) witeCrachReport(err error) error { + crashReportPath := config.GetBinFolderPath() + "/core_crash_" + time.Now().Format("20060102_150405") + ".log" + return os.WriteFile(crashReportPath, []byte(err.Error()), os.ModePerm) +}