在表示崩溃报告时,我注意到行号已关闭.我用一个故意导致崩溃的项目对此进行了测试.似乎生成的行号不包括某些行,例如注释行或编译器预处理器语句(不确定它的作用和不包括)...
是否有一种简单的方法可以从符号化崩溃报告中的"关闭"行号到源中的实际代码行?
编辑:符号化崩溃报告中的一行示例:
7 Luisterpaal 0x00005de2 -[SWFMP3 connection:didReceiveData:] (SWFMP3.m:320)
Run Code Online (Sandbox Code Playgroud)
因此,行号320几乎是正确的,但不完全正确.这几行......
我的应用程序适用于越狱设备.它在iOS模拟器中编译并且工作正常,但是当我在设备中打开它时它会立即崩溃.同样,它是一个越狱应用程序,所以我不能像注册开发人员那样获得崩溃日志.即使我不是注册的iOS开发人员,我有什么方法可以为我的应用程序获取崩溃日志?这让我疯了,因为我已经为此工作了3个月了,我不想因为这样的事情而停下来.
哦,如果重要的话,我使用这里描述的方法"伪代码签名" ,但只有这个特定的应用程序崩溃.我通过制作一个简单显示标签的虚拟应用程序进行测试,它根本没有崩溃.
这很奇怪,只发生在我正在开发的一个应用程序中.我正在使用XCode 4.0和其他应用程序为我正确地表示符号.当我从多个设备(iPhone或iPad)上接收来自多个测试人员的崩溃日志时,就会发生这种情况,因此并非特定于某个人.
该应用程序有一个精简和专业目标,是一个通用的应用程序,可以在iPhone和iPad上运行,如果这有所作为.
崩溃日志最初加载并且看起来像常规崩溃日志,但是一旦它们被"处理",它们就不会被符号化并且最终是双倍间隔的,所以它们看起来像这样:
I n c i d e n t I d e n t i f i e r : 8 0 D 0 B E 6 A - 5 A C 8 - 4 E 8 A - B D 4 2 - 9 4 2 8 A 0 6 4 A 2 3 D
C r a s h R e p o r t e r K e y : 4 2 b 2 …Run Code Online (Sandbox Code Playgroud) 我按照文档中的说明安装了Testflight(1.2 B3).构建正在上传和更新.我可以看到会话(主要是匿名:/),我收到日志(TFLog) - 但我没有收到任何崩溃报告.我甚至引入了事件崩溃(一种未找到的方法) - 但是在Testflight中没有任何关于它的东西.
通过嵌入多个设备的开发人员配置文件进行配置.问题出现在iOS6和iOS5/iPhone5和iPad3上.正在针对iOS6构建.
有任何想法吗?
更新 我已经测试了几个其他框架和接收崩溃报告的方法.什么都没有用,所以我怀疑我的代码(显然).XCode 4.5.1可能启用了其他任何开关吗?这样可以在"生产环境"(如设置)中禁用任何错误报告?
更新2 截至目前,我们仅使用Testflight分发测试版,并切换到Crashlytics进行崩溃报告.它更加流线型,可以解决大多数崩溃问题.
我收到了一堆崩溃报告,看起来很像下面这个范围的不同值.有时范围不是0-x,可以说是2-x
特定于应用程序的信息:*由于未捕获的异常终止应用程序\'NSRangeException \',原因:\'* - [NSBigMutableString substringWithRange:]:范围{0,69}超出范围; 字符串长度0 \'
Last Exception Backtrace:
0 CoreFoundation 0x2e879e83 __exceptionPreprocess + 131
1 libobjc.A.dylib 0x38bd66c7 objc_exception_throw + 38
2 CoreFoundation 0x2e879dc5 +[NSException raise:format:] + 112
3 Foundation 0x2f1a1bd1 -[NSString substringWithRange:] + 120
4 UIKit 0x311b2815 -[NSTextStorage(UIKitUndoExtensions) _undoRedoAttributedSubstringFromRange:] + 132
5 UIKit 0x315d9679 -[_UITextUndoOperationTyping undoRedo] + 296
6 Foundation 0x2f296453 -[_NSUndoStack popAndInvoke] + 250
7 Foundation 0x2f2952ef -[NSUndoManager undoNestedGroup] + 454
8 UIKit 0x3127a147 -[UIApplication alertView:clickedButtonAtIndex:] + 142
9 UIKit 0x31216449 -[_UIModalItemsCoordinator _notifyDelegateModalItem:tappedButtonAtIndex:] + 144 …Run Code Online (Sandbox Code Playgroud) 我已经尝试过Crashlytics,它似乎不起作用,从容器应用程序崩溃崩溃但键盘扩展崩溃不发送任何报告.有任何想法吗?
我有一个符号化的应用程序崩溃报告.
回溯的某些行是这样的.行号正确显示,这非常有用:
TopicMapScene::create(int) (TopicMapScene.cpp:588)
Run Code Online (Sandbox Code Playgroud)
但有些线条是这样的.不显示行号,只显示内存偏移量,这是无用的.
cocos2d::CCSequence::update(float) + 206
Run Code Online (Sandbox Code Playgroud)
我的问题:如何有时显示行号,有时不显示?是否有解决方案来显示行号而不是内存偏移量?(或者这根本不可能,我应该用更小的函数来解决这个问题?)
我从XCode开始我的应用程序,并且具有特定的行为,它只是断开连接,应用程序从我的IPAD屏幕中消失.所以我猜应用程序崩溃了.
现在我的问题.我在哪里获得此崩溃日志?我已经查看了Window - > Devices - >选择我的Ipad - >"查看设备日志".但我看不到任何实际的崩溃日志.我早些时候有一些,但我的实际并没有出现.
我如何获得崩溃日志?
我需要象征一些崩溃日志,为此我读到我需要.app和.dSYM文件以及.crash文件.
我无法在任何地方找到.app文件.我有.app.dSYM文件和.crash文件,但我找不到.app文件.
我还可以在Xcode Organizer上看到我的错误日志.但我的应用程序中的行不是象征性的.如果我点击箭头打开项目,我不知道要打开哪个文件.
谢谢
我有Crashlytics的问题(以及Xcode - > Organizer中显示的崩溃),因为我没有看到很多应该崩溃的崩溃.从测试人员那里我应该有很多崩溃,但我没有.我登录iTunes Connect并在那里获得压缩的dSYM文件并将其上传到Crashlytics以查看新的崩溃.但即使它说上传dSYM后有一个或多个新的崩溃,我也没有看到任何新的崩溃.它看起来像我在Crashlytics中看不到的大多数崩溃.这是为什么?我需要从TestFlight运行应用程序的设备获取日志/崩溃.我认为使用Objective-C并且在bitcode之前它的效果要好得多.
编辑:是否有可能在另一个工具(来自第三方公司)中会出现Apple Organizer中没有的崩溃?我在问我是否应该尝试其他公司的更多工具.也许一些崩溃是因为记忆.这些崩溃可能不在报告中吗?
谢谢
crash-reports ×10
ios ×7
xcode ×3
crashlytics ×2
macos ×2
bitcode ×1
debugging ×1
ios4 ×1
ios7 ×1
ios8 ×1
iphone ×1
jailbreak ×1
objective-c ×1
swift ×1
symbolicate ×1
testflight ×1
uitextview ×1
undo ×1
xamarin ×1
xamarin.ios ×1
xcode4 ×1