大佬教程收集整理的这篇文章主要介绍了objective-c – 使用atos通过dSYM确定崩溃的方法名称,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道他们正在使用哪个版本的应用程序,并且我有该版本/调试版本的副本,以及存档副本的dSym文件.
但是,当我尝试使用atos吐出内存地址时,它似乎没有帮助. (我在下面的堆栈中使用0x000000010e703bc0.)
craig-mbp:Desktop Craig$atos -o MyApp.app_1.0.0.dSym/Contents/@R_450_5550@es/DWARF/MyApp -arch x86_64 0x000000010e703bc0 (<- entered by mE) 0x000000010e703bc0 (<- console output)
我需要输入某种偏移吗?或者根据用户提供给我的地址,某种内存地址数学来确定程序内存块中的实际位置?
这是我收到的堆栈跟踪的总和:
28/11/12 10:48:56.220 AM MyApp[411] ( 0 CoreFoundation 0x00007fff8fee90a6 __exceptionPreprocess + 198 1 libobjc.A.dylib 0x00007fff8e94a3f0 objc_exception_throw + 43 2 CoreFoundation 0x00007fff8fee8e7c +[NSException raise:format:] + 204 3 Foundation 0x00007fff92b1ce5c -[NSPlaceholderString initWithString:] + 93 4 Foundation 0x00007fff92b1cde4 +[NSString StringWithString:] + 43 5 MyApp 0x000000010e703bc0 MyApp + 23488 6 MyApp 0x000000010e70a038 MyApp + 49208 7 MyApp 0x000000010e70b41a MyApp + 54298 8 MyApp 0x000000010e70bb92 MyApp + 56210 9 Foundation 0x00007fff92b22db5 __NSFireDelayedPerform + 358 10 CoreFoundation 0x00007fff8fea5da4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20 11 CoreFoundation 0x00007fff8fea58bd __CFRunLoopDoTimer + 557 12 CoreFoundation 0x00007fff8fe8b099 __CFRunLoopRun + 1513 13 CoreFoundation 0x00007fff8fe8a6b2 CFRunLoopRunSpecific + 290 14 HIToolBox 0x00007fff8b31c0a4 RunCurrentEventLoopInMode + 209 15 HIToolBox 0x00007fff8b31be42 ReceiveNextEventCommon + 356 16 HIToolBox 0x00007fff8b31bcd3 BlockUntilNextEventMatchingLisTinR_362_11845@ode + 62 17 AppKit 0x00007fff948e7613 _DPSNextEvent + 685 18 AppKit 0x00007fff948e6ed2 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 128 19 AppKit 0x00007fff948de283 -[NSApplication run] + 517 20 AppKit 0x00007fff94882cb6 NSApplicationMain + 869 21 MyApp 0x000000010e6ffab4 MyApp + 6836
atos -o MyApp.app_1.0.0.dSym/Contents/@R_450_5550@es/DWARF/MyApp -arch x86_64 -l 0x000000010E6FE000
我从你的例子中得到0x000000010E6FE000,从0x000000010e6ffab4减去6836(base10)…或者你可以使用MyApp中显示的任何其他数学项.
这是我最近崩溃的一个例子,其中0x2d000在崩溃日志中很明显.第一行是我在命令行输入的内容.之后的每一行都是程序输出(用$或$>人工缩进我的输入……屏幕上没有这样的提示).
$atos -o /x/xcode/DerivedData/Xxxx/Build/Products/Debug-iphoneos/Xxxx.app.dSym/Contents/@R_450_5550@es/DWARF/Xxxx -l 0x2d000 got symbolicator for /x/xcode/DerivedData/Xxxx/Build/Products/Debug-iphoneos/Xxxx.app.dSym/Contents/@R_450_5550@es/DWARF/Xxxx,base address 1000 $> 0x0002f9a6 0x000039a6 (in XxxX) $> 0x0002f940 0x00003940 (in XxxX) $> 0x000c70f6 -[TFhttpOperation connection:didReceiveData:] (in XxxX) + 754
以上是大佬教程为你收集整理的objective-c – 使用atos通过dSYM确定崩溃的方法名称全部内容,希望文章能够帮你解决objective-c – 使用atos通过dSYM确定崩溃的方法名称所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。