gpt4 book ai didi

Linux 上的 Swift 调试 - 缺少回溯

转载 作者:IT王子 更新时间:2023-10-29 00:26:07 26 4
gpt4 key购买 nike

我有一个崩溃,我试图找到它,甚至将应用程序构建为调试并执行它,我似乎没有得到任何符号信息。

我在控制台收到的输出是:

fatal error: unexpectedly found nil while unwrapping an Optional value
Current stack trace:
0 libswiftCore.so 0x00007f1c51ca51c0 swift_reportError + 120
1 libswiftCore.so 0x00007f1c51cbfbe0 _swift_stdlib_reportFatalError + 62
2 libswiftCore.so 0x00007f1c51ab9be6 <unavailable> + 1186790
3 libswiftCore.so 0x00007f1c51c18ead <unavailable> + 2625197
4 libswiftCore.so 0x00007f1c51ab9be6 <unavailable> + 1186790
5 libswiftCore.so 0x00007f1c51bd4060 specialized _fatalErrorMessage(StaticString, StaticString, file : StaticString, line : UInt, flags : UInt32) -> Never + 96
6 myProgram 0x000000000045909e <unavailable> + 364702
7 myProgram 0x0000000000423f37 <unavailable> + 147255
8 libdispatch.so 0x00007f1c5276e177 <unavailable> + 278903
9 libdispatch.so 0x00007f1c52779edd <unavailable> + 327389
10 libdispatch.so 0x00007f1c5277a890 <unavailable> + 329872
11 libdispatch.so 0x00007f1c5277c5f4 <unavailable> + 337396
12 libdispatch.so 0x00007f1c5279aa18 <unavailable> + 461336
13 libpthread.so.0 0x00007f1c50c6f6ba <unavailable> + 30394
14 libc.so.6 0x00007f1c4f7b9370 clone + 109
Illegal instruction (core dumped)

我根本找不到任何方法来扩展此信息,尽管我可以查看 map 文件。我觉得我们现在使用现代工具已经远远超出了这个领域。

有没有人有任何指示,或者确实知道如何生成包含更多信息的构建。

Ubuntu 16.04、Swift 3.1.1

最佳答案

所以,遗憾的是,这似乎是 lldb 中的一个错误,它在 ELF 可执行文件中使用本地符号,而 dladdr 在 linux 平台上找不到它们。

请在此处查看错误报告: https://bugs.swift.org/browse/SR-755

注意:

好消息是,有一个 bash 脚本可以为您完成所有工作。说明很少,但这是您需要做的:

下载此脚本: https://raw.githubusercontent.com/apple/swift/master/utils/symbolicate-linux-fatal

执行崩溃的应用。

$ myApp &> crash.log

然后执行脚本。

$ ./symbolicate-linux-fatal myApp crash.log

它帮了我很多忙。

使用 LLDB

如果仍处于开发阶段,您还可以使用 swift 调试器来提供帮助。

此外,如果您执行 lldb yourexecutable,则运行。您将暂停并能够完全调试您的应用程序。

关于Linux 上的 Swift 调试 - 缺少回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44954314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com