ragweed 0.2.5 → 0.2.6
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +2 -2
- data/Rakefile +1 -30
- data/VERSION +1 -1
- data/lib/ragweed/debuggertux.rb +5 -5
- data/ragweed.gemspec +3 -3
- metadata +5 -5
data/README.rdoc
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
== Ragweed
|
2
2
|
by tduehr, crohlf, and tqbf
|
3
|
-
http://
|
3
|
+
http://www.matasano.com/research/ragweed/
|
4
4
|
|
5
5
|
== DESCRIPTION:
|
6
6
|
|
@@ -46,7 +46,7 @@ Please see the examples directory for more. There are hit tracers for each platf
|
|
46
46
|
|
47
47
|
== INSTALL:
|
48
48
|
|
49
|
-
|
49
|
+
gem install ragweed
|
50
50
|
|
51
51
|
# yep, thats it. you're done.
|
52
52
|
|
data/Rakefile
CHANGED
@@ -1,32 +1,3 @@
|
|
1
|
-
|
2
|
-
# begin
|
3
|
-
# require 'bones'
|
4
|
-
# rescue LoadError
|
5
|
-
# abort '### Please install the "bones" gem ###'
|
6
|
-
# end
|
7
|
-
#
|
8
|
-
# ensure_in_path 'lib'
|
9
|
-
# require 'ragweed'
|
10
|
-
#
|
11
|
-
# task :default => 'test:run'
|
12
|
-
# task 'gem:release' => 'test:run'
|
13
|
-
#
|
14
|
-
# Bones {
|
15
|
-
# name 'ragweed'
|
16
|
-
# ignore_file '.gitignore'
|
17
|
-
# authors 'tduehr, tqbf, struct'
|
18
|
-
# email 'td@matasano.com'
|
19
|
-
# description 'General debugging tool written in Ruby for OSX/Win32/Linux'
|
20
|
-
# summary 'Scriptable debugger'
|
21
|
-
# exclude << %w(old$)
|
22
|
-
# url 'http://github.com/tduehr/ragweed/tree/master'
|
23
|
-
# version Ragweed::VERSION
|
24
|
-
# rdoc.opts << "--inline-source"
|
25
|
-
# rdoc.opts << "--line-numbers"
|
26
|
-
# spec.opts << '--color'
|
27
|
-
# }
|
28
|
-
# # EOF
|
29
|
-
|
30
1
|
require 'rubygems'
|
31
2
|
require 'rake'
|
32
3
|
|
@@ -37,7 +8,7 @@ begin
|
|
37
8
|
gem.summary = %Q{Scriptable debugger}
|
38
9
|
gem.description = %Q{General debugging tool written in Ruby for OSX/Win32/Linux}
|
39
10
|
gem.email = "td@matasano.com"
|
40
|
-
gem.homepage = "http://
|
11
|
+
gem.homepage = "http://www.matasano.com/research/ragweed/"
|
41
12
|
gem.authors = ["tduehr", "struct", "tqbf"]
|
42
13
|
gem.rdoc_options = ["--inline-source", "--line-numbers", "--main", "README.rdoc"]
|
43
14
|
gem.platform = "java" if Gem::Platform.local.os == "java"
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.6
|
data/lib/ragweed/debuggertux.rb
CHANGED
@@ -62,7 +62,7 @@ class Ragweed::Debuggertux
|
|
62
62
|
# init object
|
63
63
|
# p: pid of process to be debugged
|
64
64
|
# opts: default options for automatically doing things (attach and install)
|
65
|
-
def initialize(pid, opts)
|
65
|
+
def initialize(pid, opts = {}) # Debuggertux Class
|
66
66
|
if p.to_i.kind_of? Fixnum
|
67
67
|
@pid = pid.to_i
|
68
68
|
else
|
@@ -165,12 +165,12 @@ class Ragweed::Debuggertux
|
|
165
165
|
ret = []
|
166
166
|
File.open("/proc/#{pid}/maps") do |f|
|
167
167
|
f.each_line do |l|
|
168
|
-
range, perms, offset, dev, inode, pathname
|
168
|
+
range, perms, offset, dev, inode, pathname = l.chomp.split(" ",6)
|
169
169
|
base, max = range.split('-').map{|x| x.to_i(16)}
|
170
170
|
if pathname
|
171
171
|
if exact && pathname == name
|
172
172
|
ret << range.split('-').map{|x| x.to_i(16)}
|
173
|
-
elsif pathname.match(name)
|
173
|
+
elsif pathname.match(name) and exact == false
|
174
174
|
ret << range.split('-').map{|x| x.to_i(16)}
|
175
175
|
end
|
176
176
|
end
|
@@ -294,12 +294,12 @@ class Ragweed::Debuggertux
|
|
294
294
|
|
295
295
|
# Search the heap for a value, returns an array of matches
|
296
296
|
def search_heap(val, &block)
|
297
|
-
search_mem_by_name('heap', &block)
|
297
|
+
search_mem_by_name('heap', val, &block)
|
298
298
|
end
|
299
299
|
|
300
300
|
# Search the stack for a value, returns an array of matches
|
301
301
|
def search_stack(val, &block)
|
302
|
-
search_mem_by_name('stack', &block)
|
302
|
+
search_mem_by_name('stack', val, &block)
|
303
303
|
end
|
304
304
|
|
305
305
|
# Search all mapped regions for a value
|
data/ragweed.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ragweed}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = [%q{tduehr}, %q{struct}, %q{tqbf}]
|
12
|
-
s.date = %q{2011-07-
|
12
|
+
s.date = %q{2011-07-31}
|
13
13
|
s.description = %q{General debugging tool written in Ruby for OSX/Win32/Linux}
|
14
14
|
s.email = %q{td@matasano.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -70,7 +70,7 @@ Gem::Specification.new do |s|
|
|
70
70
|
"spec/spec_helper.rb",
|
71
71
|
"test/test_ragweed.rb"
|
72
72
|
]
|
73
|
-
s.homepage = %q{http://
|
73
|
+
s.homepage = %q{http://www.matasano.com/research/ragweed/}
|
74
74
|
s.rdoc_options = [%q{--inline-source}, %q{--line-numbers}, %q{--main}, %q{README.rdoc}]
|
75
75
|
s.require_paths = [%q{lib}]
|
76
76
|
s.rubygems_version = %q{1.8.6}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ragweed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 6
|
10
|
+
version: 0.2.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- tduehr
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2011-07-
|
20
|
+
date: 2011-07-31 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: ffi
|
@@ -96,7 +96,7 @@ files:
|
|
96
96
|
- spec/ragweed_spec.rb
|
97
97
|
- spec/spec_helper.rb
|
98
98
|
- test/test_ragweed.rb
|
99
|
-
homepage: http://
|
99
|
+
homepage: http://www.matasano.com/research/ragweed/
|
100
100
|
licenses: []
|
101
101
|
|
102
102
|
post_install_message:
|