问题标签 [symbolicate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS - 符号化堆栈跟踪符号
我想符号化使用 [NSThread callStackSymbols] 记录的堆栈跟踪符号,以识别完整的堆栈回溯调用。但是,这并没有给出象征性的痕迹。
我在开发和企业构建中都试过这个。都没有解决。反正有什么象征意义吗?我搜索了很多论坛,所有人都要求使用下面的 atos 命令执行此操作
但是,我不确定上述命令必须使用的内存地址是什么以及如何获取它。
任何帮助将不胜感激,谢谢。
ios - 在 Xcode 7 中符号化崩溃日志
我有一个产生崩溃和崩溃日志的 AppStore 构建。我没有原始存档(它位于另一台计算机上),但我有 .app.dSYM 和 .app 文件。遵循 Xcode 6.x 相关答案的步骤无济于事,因为我无法在 Xcode 7 中找到“符号化”。我确信我遗漏了一些明显的东西......
ios - 从未连接到 Xcode 7 的设备调试崩溃 - 符号化
在我解释之前,让我先说我已经查看并尝试了许多表示崩溃日志的方法。
我的问题:当我的应用程序(在我的 iPhone 上)从 Xcode 运行时,应用程序永远不会崩溃。当我的应用程序在我的手机上运行,并且根本没有连接到我的电脑时,它每次都在同一个地方崩溃。
我的符号问题:我从手机中检索了崩溃文件,我从存档构建中获得了 .dSYM 文件,并且 UUID 不匹配,所以我无法象征崩溃并找到代码行导致问题。
我的目标:解决这个错误。似乎最好的方法是通过 Symbolicate 命令,但也许 Xcode 7 有一些新的东西可以更容易地从设备符号化崩溃文件?
希望这很清楚。非常感谢!
macos - 如何在 OSX 上表示内核恐慌报告?
我想知道如何表示内核恐慌报告(不是常规的应用程序崩溃报告)。我有一个用户声称导致内核崩溃的 OSX 应用程序。它不安装任何内核扩展,而是一个启动守护进程。我已关注此链接https://developer.apple.com/library/mac/technotes/tn2063/_index.html但它仅描述了导致内核恐慌的第 3 方内核扩展的符号化步骤。如果我没有安装任何 kext,我该如何表示以下恐慌报告?任何帮助都将是可观的。
ios - 符号化崩溃日志 - XCode 7.0.1
我试图象征崩溃的日志并尝试了各种方法。
1) 从 xcode(7.0.1) > Devices > All Logs > Re-Symbolicate logs 中符号化崩溃日志
什么都没发生
安装的命令行工具,xcode-select --install
2)从命令行,symbolicate “Crash.crash” "MyApp.app"
出现错误,symbolicate: command not found
3)/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash ~/Desktop/Crash/Crash.crash ~/Desktop/Crash/MyApp.app.dSYM
找不到任何DTDeviceKitBase.framework
4)atos -arch armv7 -o ~/Desktop/Crash/MyApp.app/MyAppName 0x00000001001de44c 0x1000d0000 + 1107020
有日志,但没有显示 excat 问题。
只是为了验证我的第 4 步结果是否正确,我只需编写以下代码就不会崩溃
但是,在使用第 4 步符号化崩溃日志之后,[classname functionName]
它只显示了一些不同的类。这让我觉得第 4 步的符号化日志是不正确的。
编辑 1:添加崩溃日志
任何帮助。
谢谢
ios - 如何“手动”符号化 [NSThread callStackSymbols](获取 atos 的起始地址)(iOS)
目标:
我想象征[NSThread callStackSymbols]
.
旁注:
我知道如何使用崩溃日志来做到这一点。但是,我需要调查一些我想查看调用堆栈的问题。不幸的是,这些天框架的地址都是<redacted>
. 在正确的点(或最后 - 请参阅我的问题的结尾)导致崩溃是不可接受的,但如果我找不到另一个解决方案,这将是要走的路。
我必须在设备上运行我的测试,所以我不能使用模拟器。
目前的做法:
当我这样称呼时:
我得到这个输出:
(此输出中的“转换”是应用程序。)
现在我可以使用这个命令来“符号化”地址:
像这样运行(当然对于 有适当的值-l
),我可以输入类似的地址0x000694b5
,它会吐出类似-[ViewController viewDidLoad] + 128
. 当然问题是起始地址(-l 选项的值)。
当我有崩溃日志时,我可以得到那些。但是,我想在没有崩溃的情况下逃脱。
问题:
Q1:我能否在运行时确定起始地址,并将其包含在日志输出中,以便将其提供给 atos-l
选项?
编辑:看起来这可能是这样的:(感谢 NSProgrammer 的回答https://stackoverflow.com/a/12464678/1396265)
/编辑
(由于我对框架的方法调用感兴趣,所以我当然需要框架的起始地址。应用程序的起始地址经常变化(随机化),我还不知道框架的起始地址是否是随机的。)
Q2:还有其他方法可以调查调用堆栈中的方法吗?(在我的场景中,断点也相当笨拙。)
编辑:
Q3:如何符号化框架的地址?例如,我在哪里可以找到 UIKit 的 dSYM(或其他任何东西)?
(例如,我有一些东西:~/Library/Developer/Xcode/iOS\ DeviceSupport/9.1\ \(13B143\)/Symbols/System/Library/Frameworks/UIKit.framework/
。我会在这里查看更多细节。)
/编辑
也许一个解决方案:
一种方法可能是将日志输出保存到文件中,并在测试结束时导致应用程序崩溃。这样,崩溃日志将显示起始地址,并使用日志中的调用堆栈信息,我应该能够符号化callStackSymbols
输出。接下来我会尝试的。
ios - 无法符号化 Xcode 7.2 上的崩溃日志
我有崩溃日志、.dsym、.app 但无法表示崩溃日志。它返回错误'xcodebuild:错误:SDK“ipados”无法定位。'
xcode - Xcode 如何找到 dSYM 以匹配崩溃文件?
我从客户那里收到了一个 .crash 文件,需要将它链接到正确的 dSYM 文件。该产品/版本的存档是由另一个开发人员使用 Xcode 构建的,并且 .xcarchive 文件放入 git 以备不时之需(就像今天一样)。
在阅读Analyzing Crash Reports和Understanding and Analyzing iOS Application Crash Reports之后,尚不清楚它是如何工作的。
我做了以下事情:
- 打开设备窗口,“查看设备日志”按钮
- 将 .crash 文件拖到列表中(我们将崩溃日志从不同的设备/用户拖到我们的设备上 - 这似乎是错误的,但 AFAIK 是需要做的)
- 在 Organizer/Archives 中,所需版本的存档不在我的列表中。它是在另一台计算机上构建的,我还没有做任何事情将它带到我的环境中
- 最初,当我查看崩溃文件时,它只有十六进制代码
- 右键单击并“重新符号化”我之前添加的崩溃日志
- Xcode 现在似乎不知何故知道了我的存档。我现在看到方法和行号信息,但是...
我不相信这是有效的,并且可能与错误的事情有关。
问:Xcode 如何知道我的 xcarchive 文件包含崩溃文件版本的 dSYM?(我希望它必须在组织者/档案列表中,但不是)
问:有没有更好的方法来导入 .crash 文件?(我希望能够将它拖到 Organizer/Crashes 中,但显然不是)
xcode7 - 如何在 Xcode 7.3 中表示崩溃?
你能帮我把我的崩溃符号化吗?
在 Xcode 7.3 中,Window -> Organizer -> Crashes,我有来自我最新的 TestFlight 构建的崩溃报告。它们是在这台 Mac 上构建的,所有带有相应 dSYM 的档案都在档案选项卡中。该应用程序分为多个框架和主应用程序,其中许多是 Swift 和 Objective C 的混合体。在崩溃日志中,我可以看到正确列出的框架和应用程序的名称,但我的框架和应用程序的所有条目应用程序是十六进制的。UIKit 的符号化就好了。
当我在 iTunes Connect 中查看时,它对“包括符号”说“是”并允许我下载 dSYM。构建时,“调试信息格式”选项设置为“DWARF with dSYM”。我尝试将“在复制过程中去除调试符号”和“去除链接产品”设置为“否”,看看是否有所不同。它没有。
我在我的系统上找不到 symbolicatecrash 应用程序,甚至在 /usr/bin 或 /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash 中都找不到,但我有一个较旧的 Xcode 5可以抓住它。但是,它不再解析符号。
我在 Instruments 中有同样的问题,如果我分析我的应用程序,UIKit 的符号化就好了,但我的框架和应用程序只显示十六进制。
我知道有很多关于这个的帖子,但是从 7.3 测试版到现在我已经经历了很多,但还没有找到解决方案