是否有任何库允许最终用户向开发人员发送崩溃报告?
例如,用户正在使用我的应用.它崩溃了.在启动时,库会在其他所有内容之前加载,并且会发出崩溃报告并提示用户将崩溃日志发送给我.
这可能吗?我认为Facebook应用就是这样的.
谢谢!
我正在使用ubuntu 12.04,我有一个应用程序,当我运行时,退出:
./ardrone_navigation
Setting locale to en_GB.UTF-8
Errore di segmentazione (core dump creato)
Run Code Online (Sandbox Code Playgroud)
如果我像普通用户或root一样运行它,问题是一样的
,但我找不到核心转储.....,我已经检查过了
cat /proc/sys/kernel/core_pattern
|/usr/share/apport/apport %p %s %c
Run Code Online (Sandbox Code Playgroud)
但
apport-cli
Nessuna segnalazione di crash pendente. Provare --help per maggiori informazioni.
(no crash pending)
Run Code Online (Sandbox Code Playgroud)
然后我尝试
strace ./ardrone_navigation
Run Code Online (Sandbox Code Playgroud)
现在,我有很多输出到consolle,如果我再次运行apport-cli,它有一个报告,但对于strace程序....
为什么?我需要知道什么?(我是这个问题的新手)
strace最后一行是
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5
fstat64(5, {st_mode=S_IFREG|0644, st_size=4455872, ...}) = 0
mmap2(NULL, 4096, PROT_READ, MAP_PRIVATE, 5, 0x432) = 0xb5c5a000
close(5) = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 6), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb5c59000
write(1, "Setting …Run Code Online (Sandbox Code Playgroud) 我仍然是崩溃报告分析的新手,可以使用一些帮助来追踪我的问题.这是有问题的报告的一部分.
Incident Identifier: 5D510334-3888-40A6-A7C1-5AE1109BFDD4
CrashReporter Key: b4cfc1c63d61ef3f17a53e0732f05ad768cad375
Hardware Model: iPhone4,1
Process: WxT [1263]
Path: /var/mobile/Applications/E7B24747-F168-4E23-99F9-89DC23A8531C/WxT.app/WxT
Identifier: WxT
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2012-11-07 21:35:25.723 -0600
OS Version: iOS 6.0.1 (10A523)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000020
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 MapKit 0x318325d2 _contains(objc_object*, MKQuadTrieNode*) + 10
1 MapKit 0x318325c0 -[MKQuadTrie contains:] + 20
2 MapKit 0x3184411c -[MKAnnotationContainerView addAnnotation:] …Run Code Online (Sandbox Code Playgroud) 任何人都可以帮我理解崩溃报告吗?自iOS App 8个月开发以来,这是我第一次不得不处理这个问题.
我知道它与解雇导致它的视图控制器有关,但我没有对此代码进行任何更改,但突然间它开始引起问题.关于从哪里开始的任何指导都是惊人的.
Date/Time: 2013-03-10 14:56:06.091 +0000
OS Version: iOS 6.1.2 (10B146)
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libobjc.A.dylib 0x3afee5b6 objc_msgSend + 22
1 AVFoundation 0x3247f752 -[AVAudioPlayer(AVAudioPlayerPriv) finishedPlaying:] + 74
2 Foundation 0x33c700f0 __NSThreadPerformPerform + 456
3 CoreFoundation 0x3332e680 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 12
4 CoreFoundation 0x3332dee4 __CFRunLoopDoSources0 + 208
5 CoreFoundation 0x3332ccb2 __CFRunLoopRun + 642
6 CoreFoundation 0x3329feb8 CFRunLoopRunSpecific + 352 …Run Code Online (Sandbox Code Playgroud) 假设我的应用程序崩溃意味着在那个时候applicationWillTerminate调用函数.在该功能中,我想将崩溃日志文件保存在Temporary目录中.当应用程序在那时启动时,我想通过编码将崩溃报告文件从iOS设备上传到我的服务器位置.
我正在使用此代码来保存崩溃日志文件.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *logPath = [documentsDirectory stringByAppendingPathComponent:@"console.log"];
freopen([logPath cStringUsingEncoding:NSASCIIStringEncoding],"a+",stderr);
Run Code Online (Sandbox Code Playgroud)
但是这段代码可以在模拟器中使用.我能够看到这个文件
/Users/UserNAme/Library/Application Support/iPhone Simulator/6.0/Applications/xxx-yyy-sss--eee/Documents/console.log
Run Code Online (Sandbox Code Playgroud)
但我无法在ios设备中找到此文件.
注意:在我正在使用的ios设备中查找文件 iExplorer
我有一个执行这些基本功能的应用程序:
这个应用程序在iPhone设备上按预期工作,但当其中一个客户试图在iPad 1上使用相同的版本时,它在增量同步过程中崩溃了.
以下是崩溃日志:
Incident Identifier: 5FE6808F-D558-41D0-A337-68CE8A4B2300
CrashReporter Key: 7a07cd6cfe292ea9f7daac97190d86f9a503415a
Hardware Model: iPad1,1
Process: pCA Dev [2523]
Path: /var/mobile/Applications/87C8E4F9-DD63-44AD-9EC2-E9669CCCC519/pCA Dev.app/pCA Dev
Identifier: pCA Dev
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-05-08 11:47:51.570 -0400
OS Version: iPhone OS 5.1.1 (9B206)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x8badf00d
Highlighted Thread: 6
Application Specific Information:
com.dash.pCA failed to resume in time
Elapsed total CPU time (seconds): 2.350 (user 2.350, system 0.000), 23% …Run Code Online (Sandbox Code Playgroud) 我的应用程序是ARC abide应用程序,但仍然在崩溃报告中看到多次崩溃,并显示消息“尝试取消引用垃圾指针”。他们很难诊断。
我的问题是,即使在使用ARC之后,为什么应用程序也会由于内存问题而崩溃,而我们无法通过相同的步骤进行复制。如何解决此类崩溃?
其中一种崩溃报告如下:
CrashReporterKey:896d0c8676c0e02eb292865a654825359de4d427硬件型号:iPod4,1版本:5510(3.0.0)OS版本:iPhone OS 6.1.3(10B329)日期/时间:2013-08-15 09:50:51.000 -0700固件版本:2.27.0报告版本: 104
异常类型:EXC_BAD_ACCESS(SIGSEGV)异常代码:0x31fd4078处的KERN_INVALID_ADDRESS损坏的线程:0
线程0名称:调度队列:com.apple.main.thread线程0崩溃:0 libobjc.A.dylib 0x3b1ac5b0 objc_msgSend + 16 1 UIKit 0x3533c350 0x35338000 + 17232 2 UIKit 0x3533b6c8 0x35338000 + 14024 3
UIKit 0x3533bs
显卡0x3533b118370 + 26016 5
GraphicsServices 0x3702d1d0 0x37027000 + 25040 6
CoreFoundation 0x33508170 0x33471000 + 618864 7
CoreFoundation 0x33508110 0x33471000 + 618768 8
CoreFoundation 0x33506f98 0x33471000 + 614296 9
CoreFoundation 0x33479eb8 CFRunLoopRunSpecific + 352 10 CoreFoundation 0x33479d48 CFRunLoopRunInMode + 104 11 GraphicsServices 0x3702c2e8 GSEventRunModal + 72 12 UIKit 0x3538f300 …
我两次都得到ANR:
throw new NullPointerException("random null pointer");
Run Code Online (Sandbox Code Playgroud)
和
while(true){}
Run Code Online (Sandbox Code Playgroud)
仅在异常部分VM实际关闭(D/AndroidRuntime:关闭VM).
第二个问题是:如何强制app崩溃而不是ANR并在logcat中获取堆栈跟踪?
更新 已更改标题从ANR和崩溃之间的区别.
更新 它发生在大约3-4个月前.从那时起,只有找到崩溃的方法就是在任何地方放置try catch盒子,没有任何理由.
在使用分发配置文件构建我的Corona SDK应用程序并通过USB电缆将其放在我的设备上时,我的iPad 2崩溃了.我正在测试互联网未连接时发生的错误(不确定是否相关).当应用程序崩溃时,设备窗口的输出流声明它正在存储崩溃报告(http://pastebin.com/Qa3BeaJ2),但是当我按下"查看设备日志"按钮时,崩溃永远不会显示.当我按下该按钮时,我收到一条错误消息.解决这个让我的崩溃出现在设备日志中的秘诀是什么?
7月28日13:41:17 JackSpicer crash_mover [6180] :(错误)NPSLogging:无法解析活动设备的配对ID((null))或数据存储((null))
谢谢!
更新:现在是晚上10点.我一整天都在检查设备日志......我现在从下午5:46得到更新.我勒个去?这是非常短暂的,并说:
Incident Identifier: 2481ECB9-EB67-4580-8F50-0F3BC9DEC466
CrashReporter Key: cda9dbf37d5d3acf21765f20407ce60ad9f7b70a
Date: 2015-07-28 17:46:26 +0800
Reset count: 0
Boot failure count: 1
Boot faults:
Boot stage: 255
Boot app: 2681261667
Run Code Online (Sandbox Code Playgroud) 我试图在指向地址0xbaddc0dedeadbead的某些类成员中取消引用指针时出现错误,这显然不是随机值,而是消息"Bad decode dead bead",但是来自谁?知道这可以帮助修复这些错误; 是C++编译器(llvm),链接器,加载器,还是可以产生这个地址的一些或其他MacOS服务?(我在MacOS 10.10上).干杯!
crash-reports ×10
ios ×6
cocoa-touch ×2
crash ×2
iphone ×2
objective-c ×2
xcode ×2
android ×1
c++ ×1
coredump ×1
coronasdk ×1
ios6 ×1
ipad ×1
linker ×1
memory ×1
osx-yosemite ×1