gdb.rb 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
data/README CHANGED
@@ -3,8 +3,7 @@ gdb7 hooks for MRI
3
3
 
4
4
  === Requirements
5
5
 
6
- gdb.rb currently requires x86_64 linux, and a REE 1.8 binary. Support for other MRI builds and
7
- platforms is in the works.
6
+ gdb.rb currently requires x86_64 linux, and MRI/REE 1.8.x or 1.9.2.
8
7
 
9
8
  === Usage
10
9
 
data/bin/gdb.rb CHANGED
@@ -18,6 +18,7 @@ binary = "#{Config::CONFIG['bindir']}/#{Config::CONFIG['ruby_install_name']}"
18
18
 
19
19
  args = []
20
20
  args << "#{dir}/ext/dst/bin/gdb"
21
+ args << "-x #{dir}/scripts/settings.gdb"
21
22
  if pid
22
23
  args << "-ex 'attach #{pid}'"
23
24
  else
@@ -3,7 +3,7 @@ CWD = File.expand_path(File.dirname(__FILE__))
3
3
  def sys(cmd)
4
4
  puts " -- #{cmd}"
5
5
  unless ret = xsystem(cmd)
6
- raise "#{cmd} failed, please report to gdb@tmm1.net with pastie.org link to #{CWD}/mkmf.log and #{CWD}/src/gdb-7.0/config.log"
6
+ raise "#{cmd} failed, please report to gdb@tmm1.net with pastie.org link to #{CWD}/mkmf.log and #{CWD}/src/gdb-7.2/config.log"
7
7
  end
8
8
  ret
9
9
  end
@@ -20,7 +20,7 @@ if RUBY_PLATFORM !~ /(i686|x86_64)-linux/
20
20
  end
21
21
 
22
22
  dir_config('python')
23
- unless have_header('python2.5/Python.h') or have_header('python2.6/Python.h') or have_header('python2.4/Python.h')
23
+ unless have_header('python2.4/Python.h') or have_header('python2.5/Python.h') or have_header('python2.6/Python.h') or have_header('python2.7/Python.h')
24
24
  STDERR.puts "\n\n"
25
25
  STDERR.puts "***************************************************************************************"
26
26
  STDERR.puts "***************** Python required (apt-get install python2.5-dev) =( ******************"
@@ -36,6 +36,14 @@ unless have_header('ncurses.h') or have_header('ncurses/ncurses.h')
36
36
  exit(1)
37
37
  end
38
38
 
39
+ if `which make`.strip.empty?
40
+ STDERR.puts "\n\n"
41
+ STDERR.puts "***************************************************************************************"
42
+ STDERR.puts "*************** make required (apt-get install make build-essential) =( ***************"
43
+ STDERR.puts "***************************************************************************************"
44
+ exit(1)
45
+ end
46
+
39
47
  gdb = File.basename('gdb-7.2.tar.bz2')
40
48
  dir = File.basename(gdb, '.tar.bz2')
41
49
 
@@ -1,7 +1,6 @@
1
1
  spec = Gem::Specification.new do |s|
2
2
  s.name = 'gdb.rb'
3
- s.version = '0.1.6'
4
- s.date = '2010-11-16'
3
+ s.version = '0.1.7'
5
4
  s.rubyforge_project = 'gdb-rb'
6
5
  s.summary = 'gdb hooks for MRI/REE and YARV'
7
6
  s.description = 'A set of gdb7 extensions for the MRI/REE 1.8.x interpreter (and basic support for YARV 1.9.2)'
@@ -11,7 +10,6 @@ spec = Gem::Specification.new do |s|
11
10
  s.authors = ["Aman Gupta"]
12
11
  s.email = "gdb@tmm1.net"
13
12
 
14
- s.has_rdoc = false
15
13
  s.extensions = 'ext/extconf.rb'
16
14
  s.bindir = 'bin'
17
15
  s.executables << 'gdb.rb'
@@ -459,7 +459,6 @@ class RubyEval (gdb.Command):
459
459
 
460
460
  def invoke (self, arg, from_tty):
461
461
  self.dont_repeat()
462
- # check if rb_during_gc
463
462
  arg = arg.replace('\\', '\\\\').replace('"', '\\\"')
464
463
  print gdb.parse_and_eval("RSTRING_PTR(rb_eval_string_protect(\"begin; (%s).inspect; rescue Exception => e; e.inspect; end\", 0))" % arg).string()
465
464
 
@@ -564,6 +563,7 @@ else:
564
563
  # Common 1.8 macros
565
564
  macros += """
566
565
  #define RSTRING_PTR(obj) (RSTRING(obj)->ptr)
566
+ #define RSTRING_LEN(obj) (RSTRING(obj)->len)
567
567
  #define CHAR_BIT 8
568
568
  #define NODE_LSHIFT (FL_USHIFT+8)
569
569
  #define NODE_LMASK (((long)1<<(sizeof(NODE*)*CHAR_BIT-NODE_LSHIFT))-1)
@@ -640,21 +640,3 @@ else:
640
640
  RubyObjects.TYPES[int(val,16)] = name[2:].lower()
641
641
 
642
642
  RubyObjects.ITYPES = dict([[v,k] for k,v in RubyObjects.TYPES.items()])
643
-
644
- ##
645
- # Set GDB options
646
-
647
- settings = """
648
- set height 0
649
- set width 0
650
- set print pretty
651
-
652
- set history save on
653
- set history filename ~/.gdbrb_history
654
-
655
- set debug-file-directory /usr/lib/debug
656
- """.split("\n")
657
-
658
- for s in settings:
659
- if len(s.strip()) > 0:
660
- gdb.execute(s)
@@ -0,0 +1,8 @@
1
+ set height 0
2
+ set width 0
3
+ set print pretty
4
+
5
+ set history save on
6
+ set history filename ~/.gdbrb_history
7
+
8
+ set debug-file-directory /usr/lib/debug
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gdb.rb
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
4
+ hash: 21
5
+ prerelease:
5
6
  segments:
6
7
  - 0
7
8
  - 1
8
- - 6
9
- version: 0.1.6
9
+ - 7
10
+ version: 0.1.7
10
11
  platform: ruby
11
12
  authors:
12
13
  - Aman Gupta
@@ -14,7 +15,7 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-11-16 00:00:00 -05:00
18
+ date: 2011-05-20 00:00:00 -04:00
18
19
  default_executable:
19
20
  dependencies: []
20
21
 
@@ -36,6 +37,7 @@ files:
36
37
  - patches/gdb-leak.patch
37
38
  - patches/gdb-strings.patch
38
39
  - scripts/ruby-gdb.py
40
+ - scripts/settings.gdb
39
41
  has_rdoc: true
40
42
  homepage: http://github.com/tmm1/gdb.rb
41
43
  licenses: []
@@ -46,23 +48,27 @@ rdoc_options: []
46
48
  require_paths:
47
49
  - lib
48
50
  required_ruby_version: !ruby/object:Gem::Requirement
51
+ none: false
49
52
  requirements:
50
53
  - - ">="
51
54
  - !ruby/object:Gem::Version
55
+ hash: 3
52
56
  segments:
53
57
  - 0
54
58
  version: "0"
55
59
  required_rubygems_version: !ruby/object:Gem::Requirement
60
+ none: false
56
61
  requirements:
57
62
  - - ">="
58
63
  - !ruby/object:Gem::Version
64
+ hash: 3
59
65
  segments:
60
66
  - 0
61
67
  version: "0"
62
68
  requirements: []
63
69
 
64
70
  rubyforge_project: gdb-rb
65
- rubygems_version: 1.3.6
71
+ rubygems_version: 1.4.2
66
72
  signing_key:
67
73
  specification_version: 3
68
74
  summary: gdb hooks for MRI/REE and YARV