Module: Cymbol

Extended by:
ModuleMethods
Defined in:
lib/ruby-cymbol/shared.rb,
lib/ruby-cymbol.rb,
lib/ruby-cymbol/objdump.rb

Overview

This file is part of the github.com/tario/ruby-cymbol project, ruby-cymbol

Copyright © 2009-2010 Roberto Dario Seminara <[email protected]>

github.com/tario/ruby-cymbol is free software: you can redistribute it and/or modify it under the terms of the gnu general public license as published by the free software foundation, either version 3 of the license, or (at your option) any later version.

github.com/tario/ruby-cymbol is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. see the gnu general public license for more details.

you should have received a copy of the gnu general public license along with github.com/tario/ruby-cymbol. if not, see <www.gnu.org/licenses/>.

Defined Under Namespace

Modules: ModuleMethods Classes: Objdump, ObjdumpNotFoundInSystem, Resolv, RubyDebugInfoNotFoundInSystem, SymbolNotFound

Class Method Summary collapse

Methods included from ModuleMethods

proc_maps, ruby_shared_name

Class Method Details

.checkObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/ruby-cymbol.rb', line 46

def self.check
  # existence of objdump
  unless system("objdump -H > /dev/null")
    raise ObjdumpNotFoundInSystem.new
  end

  shared_name = Cymbol.ruby_shared_name
  debug_info_name = "/usr/lib/debug/" + shared_name
  if File.exist?(debug_info_name)
    shared_name = debug_info_name
  end

  unless shared_name =~ /debug/
    raise RubyDebugInfoNotFoundInSystem.new
  end

  begin
    Cymbol.resolv("ruby_init")
  rescue SymbolNotFound
    raise RubyDebugInfoNotFoundInSystem.new
  end


end

.resolv(symbol_name) ⇒ Object



101
102
103
# File 'lib/ruby-cymbol.rb', line 101

def self.resolv( symbol_name )
  Cymbol::Resolv.instance.resolv( symbol_name )
end