作者uranusjr (←这人是超级笨蛋)
看板MacDev
标题Re: [问题] 请问要怎麽看懂Crash Report
时间Thu Mar 21 11:58:02 2013
我一小时前才解决了这个问题...XD
分享一下心得
这个 crash 发生的点在於第 14 个 entry
也就是 Shake-Shake-MRT 0x0010488e 0xfe000 + 26766
可是这东西根本没意义, 除非你要直接去改 binary
所以你需要做的事情是 symbolicate 这个档案
让这个东西可以反映程式码中的位置
方法很简单
打开 Xcode 的 Organizer, 切换到 Devices 分页的 Device Logs
然後把下载回来的 .crash 档拖到中间的列表里面
选择那个 crash log (右边会出现 log 内容, 这时候应该跟 crash 档内容相同)
接着按下面的 Re-Symbolicate
如果一切顺利的话, 你就会看到 backtrace 里的内容改变了
通常在 Exception Type 的那个区块下面还会增加一区 Last Exception Backtrace
通常造成崩溃的原因就在这里面
上面那行 hex + offset 就会变成真正的 method 名称, 档案名称, 以及行数
但是有时候不会那麽顺利...
因为某个版本的 spotlight 有 bug, 会让 Xcode 找不到 dSYM 包
这种时候就会无法 re-symbolicate
如果你遇到这个问题, 请到 Archives 分页
在这个 crash 发生的 archive 上右键选择 Show in Finder
在出现的 .xcarchive 按右键显示套件内容
然後在进入的目录(里面会有一个叫做 dSYMs 的目录)执行 mdimport .
这样 Xcode 就可以正确找到 re-symbolication 所需要的档案
※ 引述《HellCloud (Invisible)》之铭言:
: 这几天送审一个app
: 在自己的机器上测试都没问题(iphone5, iphone4s, ipad) 6.1.2
: 结果apple reject回来附上了图片及Crash report
: 就是xxx.crash档
: 这种档案我该怎麽去看懂他呢..
: Exception Type: EXC_CRASH (SIGABRT)
: Exception Codes: 0x0000000000000000, 0x0000000000000000
: Crashed Thread: 0
: Thread 0 name: Dispatch queue: com.apple.main-thread
: Thread 0 Crashed:
: 0 libsystem_kernel.dylib 0x3a208350 __pthread_kill + 8
: 1 libsystem_c.dylib 0x3a17f11e pthread_kill + 54
: 2 libsystem_c.dylib 0x3a1bb96e abort + 90
: 3 libc++abi.dylib 0x39759d4a abort_message + 70
: 4 libc++abi.dylib 0x39756ff4 default_terminate() + 20
: 5 libobjc.A.dylib 0x39d0aa74 _objc_terminate() + 144
: 6 libc++abi.dylib 0x39757078 safe_handler_caller(void (*)()) + 76
: 7 libc++abi.dylib 0x39757110 std::terminate() + 16
: 8 libc++abi.dylib 0x39758594 __cxa_rethrow + 84
: 9 libobjc.A.dylib 0x39d0a9cc objc_exception_rethrow + 8
: 10 CoreFoundation 0x31dacf1c CFRunLoopRunSpecific + 452
: 11 CoreFoundation 0x31dacd44 CFRunLoopRunInMode + 100
: 12 GraphicsServices 0x359612e6 GSEventRunModal + 70
: 13 UIKit 0x33cc22fc UIApplicationMain + 1116
: 14 Shake-Shake-MRT 0x0010488e 0xfe000 + 26766
: 15 libdyld.dylib 0x3a141b1c start + 0
--
作者 Linux (Windows) 看板 C_and_CPP
标题 [问题] 如何确认是否 free 对记忆体
时间 Fri Nov 2 00:14:03 2012
1F:→ akasan:valgrind, 但 windowns 版的没试过XD 11/02 00:43
2F:→ akasan:linux 上那真的是不二选择了 11/02 00:44
3F:→ Linux:我是用 Windows ....>"< 11/02 00:45
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.47.18
※ 编辑: uranusjr 来自: 220.133.47.18 (03/21 11:58)
4F:推 fawkes1234:推 03/21 16:14
5F:推 HellCloud:顺利完成了!!感谢u大的帮忙~ 03/21 17:20
6F:推 leondemon:推 03/21 22:13
7F:推 kros:mimport是什麽指令呀? 03/22 18:05
8F:推 TsaoCCFGOGO:推!实用! 03/25 16:07
※ 编辑: uranusjr 来自: 220.133.47.18 (03/25 17:00)