我的用户一直在报告间歇性崩溃。我认为这是一个内存问题。我终于在设备上重现了它,我无法在模拟器中重现,但是,没有异常,没有低内存警告,iOS 也没有调用任何方法退出应用程序。它只是退出并返回到主屏幕。甚至不会“终止”,而是停留在暂停的应用程序列表中。
有一个“未知”的崩溃日志,但我不知道它是什么意思。从这个日志中有什么意义可以推导出来吗?我的应用程序是名为 SRTS 的应用程序。 rpages 值似乎可能过大,但我不确定。在解释此崩溃日志方面的任何帮助将不胜感激。
我正在使用 XCode 4.5.1 并构建到 iOS SDK 5.1。
Incident Identifier: 4695578C-4367-4BE1-860F-94FF8562ECAF
CrashReporter Key: 9de810f246c07ab4704bd4f440fe9a3d0cab9401
Hardware Model: iPad2,1
OS Version: iPhone OS 6.0 (10A403)
Kernel Version: Darwin Kernel Version 13.0.0: Sun Aug 19 00:28:05 PDT 2012; root:xnu-2107.2.33~4/RELEASE_ARM_S5L8940X
Date: 2012-10-18 01:11:40 -0400
Time since snapshot: 103 ms
Free pages: 882
Active pages: 3028
Inactive pages: 1941
Throttled pages: 104533
Purgeable pages: 0
Wired pages: 17730
Largest process: SRTS
Processes
Name <UUID> rpages recent_max [reason] (state)
MobileMail <bff817c61ce33c85a43ea9a6c98c29f5> 1010 1010 [vm] (resume) (continuous)
MobilePhone <3fca241f2a193d0fb8264218d296ea41> 992 992 [vm] (resume) (continuous)
kbd <3e7136ddcefc3d77a01499db593466cd> 438 438 [vm] (daemon)
tccd <eb5ddcf533663f8d987d67cae6a4c4ea> 179 179 [vm] (daemon)
SRTS <66eed1e3358a33a4997bbf88dad284f2> 90334 90334 [vm] (audio) (frontmost) (resume)
ptpd <04a56fce67053c57a7979aeea8e5a7ea> 677 677 (daemon)
locationd <892cd1c9ffa43c99a82dba197be5f09e> 535 535 (daemon)
iaptransportd <f784f30dc09d32078d87b450e8113ef6> 287 287 (daemon)
wifid <9472b090746237998cdbb9b34f090d0c> 362 362 (daemon)
mediaserverd <80657170daca32c9b8f3a6b1faac43a2> 926 926 (daemon)
syslogd <cbef142fa0a839f0885afb693fb169c3> 158 158 (daemon)
SpringBoard <27372aae101f3bbc87804edc10314af3> 2031 2031
backboardd <5037235f295b33eda98eb5c72c098858> 5629 5629 (daemon)
networkd <0032f46009f53a6c80973fe153d1a588> 206 206 (daemon)
BTServer <c92fbd7488e63be99ec9dbd05824f5e5> 347 347 (daemon)
configd <4245d73a9e96360399452cf6b8671844> 411 411 (daemon)
fairplayd.K93 <47f0ea63619d351db2ef1b21790e89b9> 178 178 (daemon)
fseventsd <996cc4ca03793184aea8d781b55bce08> 400 400 (daemon)
imagent <1e68080947be352590ce96b7a1d07b2f> 376 376 (daemon)
mDNSResponder <3e557693f3073697a58da6d27a827d97> 252 252 (daemon)
lockdownd <ba1358c7a8003f1b91af7d5f58dd5bbe> 295 295 (daemon)
powerd <2d2ffed5e69638aeba1b92ef124ed861> 197 197 (daemon)
UserEventAgent <6edfd8d8dba23187b05772dcdfc94f90> 509 509 (daemon)
debugserver <185719f06f1631d4922c652bdd4c8529> 0 0 (daemon)
gputoolsd <889065a15ba8372ca533e023c10bd776> 0 0 (daemon)
gputoolsd <889065a15ba8372ca533e023c10bd776> 0 0 (daemon)
gputoolsd <889065a15ba8372ca533e023c10bd776> 0 0 (daemon)
springboardservi <ff6f64b3a21a39c9a1793321eefa5304> 0 0 (daemon)
syslog_relay <45e9844605d737a08368b5215bb54426> 0 0 (daemon)
syslog_relay <45e9844605d737a08368b5215bb54426> 0 0 (daemon)
filecoordination <fbab576f37a63b56a1039153fc1aa7d8> 169 169 (daemon)
notification_pro <845b7beebc8538ca9ceef731031983b7> 177 177 (daemon)
distnoted <a89af76ec8633ac2bbe99bc2b7964bb0> 177 177 (daemon)
apsd <94d8051dd5f5362f82d775bc279ae608> 370 370 (daemon)
aggregated <8c3c991dc4153bc38aee1e841864d088> 93 93 (daemon)
notifyd <51c0e03da8a93ac8a595442fcaac531f> 163 163 (daemon)
ReportCrash <8c32f231b2ed360bb151b2563bcaa363> 234 234 (daemon)
**End**
最佳答案
我最终将此归因于内存泄漏。通过在内存较少的 iPad1 上运行,我得到了关于泄漏是什么的线索。 iPad1 没有暂停应用程序,而是提供了一个略有不同的崩溃日志,显示该应用程序已被驱逐。这为我确认这是一个内存问题。启用 Zombie 对象并在模拟器上使用模拟内存警告帮助我最终找到泄漏的位置。因此,对于收到此类未知崩溃日志的任何其他人,我建议首先查找内存泄漏。
关于iOS,未知进程,未知崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12947730/
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
当我在Rails控制台中按向上或向左箭头时,出现此错误:irb(main):001:0>/Users/me/.rvm/gems/ruby-2.0.0-p247/gems/rb-readline-0.4.2/lib/rbreadline.rb:4269:in`blockin_rl_dispatch_subseq':invalidbytesequenceinUTF-8(ArgumentError)我使用rvm来管理我的ruby安装。我正在使用=>ruby-2.0.0-p247[x86_64]我使用bundle来管理我的gem,并且我有rb-readline(0.4.2)(人们推荐的最少
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
我正在尝试使用以下代码通过将ffmpeg实用程序作为子进程运行并获取其输出并解析它来确定视频分辨率:IO.popen'ffmpeg-i'+path_to_filedo|ffmpegIO|#myparsegoeshereend...但是ffmpeg输出仍然连接到标准输出并且ffmepgIO.readlines是空的。ffmpeg实用程序是否需要一些特殊处理?或者还有其他方法可以获得ffmpeg输出吗?我在WinXP和FedoraLinux下测试了这段代码-结果是一样的。 最佳答案 要跟进mouviciel的评论,您需要使用类似pope
我目前正在用Ruby编写一个项目,它使用ActiveRecordgem进行数据库交互,我正在尝试使用ActiveRecord::Base.logger记录所有数据库事件具有以下代码的属性ActiveRecord::Base.logger=Logger.new(File.open('logs/database.log','a'))这适用于迁移等(出于某种原因似乎需要启用日志记录,因为它在禁用时会出现NilClass错误)但是当我尝试运行包含调用ActiveRecord对象的线程守护程序的项目时脚本失败并出现以下错误/System/Library/Frameworks/Ruby.frame
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上