【发布时间】:2023-02-04 03:28:59
【问题描述】:
在我的项目中,当发生错误(不是崩溃,只是错误)时,我将日志发送到我的服务器。这些日志是错误描述和堆栈跟踪,应该为我提供有关错误发生的地点和时间的信息。我正在使用获取堆栈跟踪
Thread.callStackSymbols
当我通过 Xcode 在我的设备上使用它时它工作得很好,但是我在我的服务器上收到来自我的应用程序发布版本的堆栈跟踪,这些跟踪没有意义。
我测试了它在名为 X 的类中强制出错并将此错误的堆栈跟踪发送到我的服务器。直接从 Xcode 在本地运行,堆栈跟踪按预期显示类 X。但是当我构建我的发布版本以用作我的用户时,我在服务器中收到的堆栈跟踪没有提到类 X(发生错误的地方)。
我正在使用生成的 dSYM 文件和所有必要的东西来表示我的堆栈跟踪,但它仍然不起作用。我还看到了我的DEBUG_INFORMATION_FORMAT,它是DWARF with dSYM file,这对我来说似乎是正确的。
我错过了什么?我在某个地方读到,Thread.callStackSymbols 在发布版本的设备端可能不可靠。还有另一种方法可以将堆栈跟踪发送到我的服务器吗?
【问题讨论】: