ragweed 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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:
|