diff options
Diffstat (limited to 'Tools/iExploder/iexploder-1.7.2/tools/osx_last_crash.rb')
-rwxr-xr-x | Tools/iExploder/iexploder-1.7.2/tools/osx_last_crash.rb | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Tools/iExploder/iexploder-1.7.2/tools/osx_last_crash.rb b/Tools/iExploder/iexploder-1.7.2/tools/osx_last_crash.rb new file mode 100755 index 0000000..d95296d --- /dev/null +++ b/Tools/iExploder/iexploder-1.7.2/tools/osx_last_crash.rb @@ -0,0 +1,63 @@ +#!/usr/bin/ruby +# Copyright 2010 Thomas Stromberg - All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# Gives you information about the most recent crash for each application +# that has crashed within the last 2 days + +$LogDir=ENV['HOME'] + '/Library/Logs/CrashReporter' +$Days=1 +$StackCount=5 + +files=`find #$LogDir -mtime -#$Days -type f | grep -v synergy` +files.each { |filename| + filename.chop! + record = 0 + date='' + stackTrace = [] + + File.open(filename).readlines.each { |line| + #puts line + + if line =~ /^Date.*(200.*)/ + date = $1 + end + + if line =~ /^Thread \d+ Crashed/ + record = 1 + # reset the stack trace + stackTrace = [] + end + + if record + stackTrace << line + record = record + 1 + + # stop recording after $StackCount lines + if record > ($StackCount + 2) + record = nil + end + end + } + + puts File.basename(filename) + " - " + date + puts "===================================================" + stackTrace.each { |line| + puts line + } + puts "" +} + + |