加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – iTunesConnect crashlog部分符号化;不显示行号

发布时间:2020-12-14 19:02:19 所属栏目:百科 来源:网络整理
导读:iTunesConnect for my XCode 3.2.5构建的应用程序上的崩溃日志显示方法名称,但不显示行号.例如,在我在下面粘贴的简略崩溃报告中,它显示了这样: 0x000f5ef8 – [MyTableViewController dealloc] 120 这里有两件令我困惑的事情,我会欣赏一些见解.第一个原因是
iTunesConnect for my XCode 3.2.5构建的应用程序上的崩溃日志显示方法名称,但不显示行号.例如,在我在下面粘贴的简略崩溃报告中,它显示了这样:

0x000f5ef8 – [MyTableViewController dealloc] 120

这里有两件令我困惑的事情,我会欣赏一些见解.第一个原因是来自iTunesConnect的原始.crash文件已经部分符号化:它显示了类和方法名称,但不显示源代码文件和行号.我希望原始的iTunesConnect崩溃日志只显示十六进制地址.据我了解,只有一次我将崩溃日志下载到我的本地系统并使用适当的工具(XCode Organizer,symbolicatecrash,atos,gdb x / i命令等)以及确切的应用程序二进制文件和dSYM文件显式绑定它(那些具有匹配的UUID),我会看到类,方法,源代码文件和行号的完整符号.即使我在Windows框中下载并查看崩溃日志,它也会显示为部分符号.我担心我的分发二进制文件必须包含一些调试符号,以便在原始崩溃日志中显示此信息,尽管在其分发目标设置中设置了“条带链接项目”.这里的任何见解都会很棒.

令我感到困惑的第二件事,就是我在解决这一备受瞩目的事故中更为直接的关注??,就是这种抵消的业务.我已经非常仔细地找到了具有匹配UUID的dSYM和应用程序二进制文件,将它们放在我的主目录中,以便Spotlight等人可以找到它们,无论我做什么,我都无法转换该偏移量[MyTableViewController dealloc] 120到源代码文件(我知道是MyTableViewController.m)和行号.我使用原始的iTunesConnect .crash文件尝试了以下技巧:

> XCode Organizer:它的“符号化”不会影响崩溃日志的变化 – 它是一样的.
> symbolicatecrash:它不会在详细模式下抱怨任何内容,输出崩溃日志也是一样的
> gdb:使用XCode 3.2.5用于生成分发版本的相同gdb和-arch设置,并按照每个this post加载匹配的应用程序二进制和dSYM符号,gdb’x / i’和’info line *’命令告诉我[MyTableViewController dealloc] 120对应于一个完全不同的文件中完全不相关的代码库 – 甚至是.h文件!野鹅追逐.

这有些不对劲.即使在崩溃报告,应用程序二进制文件和dSYM文件中确保完全相同的UUID,这些工具都不能产生实际的行号,并且以低级方式执行它会让我进行疯狂的追逐.知道确切的行号对于解决这个问题至关重要,因为我们无法在内部重现这次崩溃,因此我们在这里失明.这看起来是一个简单的过度释放的对象,但它不清楚它是哪个确切的对象,我们无法从上下文中分辨出来.我想知道是否有一些盗用的XCode构建设置在某种程度上打破了符号化过程.

谢谢你的时间!

以下是来自iTunesConnect的删节原始.crash日志.

Incident Identifier: 09EAE058-7D55-4AE5-947A-17280FB0211A
Hardware Model:      iPhone3,1
Process:         MyApp [1895]
Path:            /var/mobile/Applications/B4B872EF-CB0D-41D7-A7B5-435ADE479D0A/MyApp.app/MyApp
Identifier:      MyApp
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2011-01-24 14:06:32.941 -0500
OS Version:      iPhone OS 4.2.1 (8C148)
Report Version:  104

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0xd0000000
Crashed Thread:  0

Thread 0 Crashed:
0   libobjc.A.dylib                 0x33479466 objc_msgSend + 18
1   MyApp                       0x000f5ef8 -[MyTableViewController dealloc] + 120
2   CoreFoundation                  0x33a26f74 -[NSObject(NSObject) release]
3   libobjc.A.dylib                 0x3347a812 objc_setProperty
4   UIKit                           0x320bb4a0 -[UINavigationController setDisappearingViewController:]
5   UIKit                           0x320bb478 -[UINavigationController _clearLastOperation]
xx SNIP xx
23  MyApp                       0x00014eac main + 36
24  MyApp                       0x0000b324 start + 44

XX SNIP xx

Binary Images:
    0x1000 -   0x1e3fff +MyApp armv7  <5570f8eee3bc11647732c12f96fe9553> /var/mobile/Applications/B4B872EF-CB0D-41D7-A7B5-435ADE479D0A/MyApp.app/MyApp

解决方法

我遇到了类似的问题,即释放未保留的对象或者在自动释放池中,从而被释放两次.通常情况下,我会在框架/ iOS内部的位置发生崩溃,但这是因为我缺乏适当的内存管理.我并不是说这是在这里发生的,而是在遇到类似错误时我遇到过的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读