简体   繁体   English

Xcode如何找到与崩溃文件匹配的dSYM?

[英]How does Xcode find the dSYM to match a crash file?

I received a .crash file from a customer and need to link it to the correct dSYM file. 我从客户处收到一个.crash文件,需要将其链接到正确的dSYM文件。 The archive for this product/version was built by another developer using Xcode, and the .xcarchive file put into git for a rainy day (like today). 这个产品/版本的存档是由另一个使用Xcode的开发人员构建的,并且.xcarchive文件在下雨天投入git(就像今天一样)。

After reading Analyzing Crash Reports and Understanding and Analyzing iOS Application Crash Reports it isn't clear how this works. 阅读分析崩溃报告了解和分析iOS应用程序崩溃报告后 ,目前尚不清楚这是如何工作的。

I have done the following: 我做了以下事情:

  • open the Devices window, "View Device Logs" button 打开设备窗口中的“查看设备日志”按钮
  • drag the .crash file to the list (we drag a crash log from a different device/user onto our device - this seems wrong but AFAIK is what needs to be done) 将.crash文件拖到列表中(我们将崩溃日志从其他设备/用户拖到我们的设备上-这似乎是错误的,但是需要完成AFAIK)
  • In Organizer/Archives, the archive for the needed version is NOT in my list. 在管理器/存档中,所需版本的存档不在我的列表中。 It was built on a different computer and I have not done anything to bring it to my environment yet 它是在另一台计算机上构建的,我还没有做任何将其引入环境的事情
  • Initially when I was viewing the crash file, it simply had the hex codes 最初,当我查看崩溃文件时,它只是十六进制代码
  • right-click and "Re-Symbolicate" the crash log that I added earlier 右键单击并“重新符号化”我之前添加的崩溃日志
  • Somehow Xcode now seems to know about about my archive. 不知怎的,Xcode现在似乎知道我的档案。 I see method and line number info now, but... 我现在看到方法和行号信息,但是...

I'm not convinced this is working, and may be linked to the wrong thing. 我不认为这是可行的,并且可能与错误的事情有关。

Q: How does Xcode know about my xcarchive file that contains the dSYM for the version of the crash file? 问:Xcode如何知道我的xcarchive文件包含崩溃文件版本的dSYM? (I would expect it to have to be in the Organizer/Archives list, but isn't) (我希望它必须在组织者/档案列表中,但不是)

Q: Is there a better way to import the .crash file? 问:有没有更好的方法来导入.crash文件? (I would expect to be able to drag it into Organizer/Crashes, but apparently not) (我希望能够将其拖到管理器/崩溃中,但显然不能)

I'm not 100% certain, but I think Xcode uses Spotlight to find the correct dsym file, so it shouldn't matter where it is on your disk. 我不是100%肯定,但我认为Xcode使用Spotlight来找到正确的dsym文件,所以它在磁盘上的位置无关紧要。

I think it runs this command: 我认为它运行此命令:

mdfind "com_apple_xcode_dsym_uuids == <UUID>"

You can also run this to list all dsym files Xcode can find at the moment: 您还可以运行此命令以列出Xcode目前可以找到的所有dsym文件:

mdfind "com_apple_xcode_dsym_uuids == *"

(Taken from this answer ) (取自这个答案

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM