Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux上的Swift调试 – 缺少Backtrace大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我有一个崩溃,我试图找到,甚至构建应用程序作为调试和执行它我似乎没有得到任何符号信息. 我在控制台收到的输出是: fatal error: unexpectedly found nil while unwrapping an Optional value Current stack trace: 0 libswiftCore.so 0x00007f1c5
我有一个崩溃,我试图找到,甚至构建应用程序作为调试和执行它我似乎没有得到任何符号信息.

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

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)

我根本找不到任何方法来扩展这些信息,然我可以去浏览一个地图文件.我觉得现在使用现代工具我们已经超越了这个领域.

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

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

Exectute你崩溃的应用程序.

$myApp &> crash.log

后执行脚本.

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

它帮助我永无止境.

大佬总结

以上是大佬教程为你收集整理的Linux上的Swift调试 – 缺少Backtrace全部内容,希望文章能够帮你解决Linux上的Swift调试 – 缺少Backtrace所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。