lldb 0.2.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +43 -4
- data/README.md +86 -2
- data/Rakefile +36 -0
- data/bindings/constants.yml +137 -0
- data/bindings/surface.yml +3072 -0
- data/ext/lldb/discovery.rb +101 -0
- data/ext/lldb/extconf.rb +206 -88
- data/ext/lldb/lldb_wrapper.cpp +7934 -877
- data/ext/lldb/lldb_wrapper.h +596 -333
- data/lib/lldb/address.rb +81 -0
- data/lib/lldb/api_support.rb +23 -6
- data/lib/lldb/attach_info.rb +122 -0
- data/lib/lldb/block.rb +121 -0
- data/lib/lldb/breakpoint.rb +11 -6
- data/lib/lldb/breakpoint_location.rb +20 -5
- data/lib/lldb/broadcaster.rb +79 -0
- data/lib/lldb/command_interpreter.rb +9 -4
- data/lib/lldb/command_return_object.rb +24 -5
- data/lib/lldb/compile_unit.rb +64 -0
- data/lib/lldb/context.rb +81 -0
- data/lib/lldb/debugger.rb +55 -12
- data/lib/lldb/error.rb +50 -3
- data/lib/lldb/event.rb +109 -0
- data/lib/lldb/expression_options.rb +124 -0
- data/lib/lldb/ffi_bindings.rb +313 -31
- data/lib/lldb/file_spec.rb +90 -0
- data/lib/lldb/file_spec_list.rb +78 -0
- data/lib/lldb/frame.rb +109 -17
- data/lib/lldb/function.rb +121 -0
- data/lib/lldb/instruction.rb +83 -0
- data/lib/lldb/instruction_list.rb +68 -0
- data/lib/lldb/launch_info.rb +145 -19
- data/lib/lldb/line_entry.rb +75 -0
- data/lib/lldb/listener.rb +96 -0
- data/lib/lldb/memory_region_info.rb +8 -3
- data/lib/lldb/module.rb +46 -5
- data/lib/lldb/native.rb +36 -0
- data/lib/lldb/native_buffer.rb +32 -0
- data/lib/lldb/native_handle.rb +60 -0
- data/lib/lldb/native_lifecycle.rb +64 -0
- data/lib/lldb/native_string_array.rb +34 -0
- data/lib/lldb/process.rb +102 -40
- data/lib/lldb/symbol.rb +117 -0
- data/lib/lldb/symbol_context.rb +9 -4
- data/lib/lldb/target.rb +69 -67
- data/lib/lldb/thread.rb +51 -18
- data/lib/lldb/type.rb +40 -3
- data/lib/lldb/type_member.rb +67 -0
- data/lib/lldb/types.rb +69 -4
- data/lib/lldb/value.rb +27 -17
- data/lib/lldb/value_list.rb +9 -5
- data/lib/lldb/version.rb +1 -1
- data/lib/lldb/watchpoint.rb +26 -9
- data/lib/lldb.rb +78 -10
- data/lldb.gemspec +4 -1
- data/rbs_collection.yaml +1 -1
- data/script/check_bindings +259 -0
- data/script/guard_c_exports +139 -0
- data/sig/lldb/ffi_bindings.rbs +247 -21
- data/sig/lldb/weak_ref.rbs +7 -0
- metadata +30 -6
- data/ext/lldb/Makefile +0 -24
- data/ext/lldb/liblldb_wrapper.dylib +0 -0
- data/ext/lldb/lldb_wrapper.o +0 -0
- data/ext/lldb/mkmf.log +0 -24
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
require 'optparse'
|
|
5
|
+
|
|
6
|
+
ROOT = File.expand_path('..', __dir__)
|
|
7
|
+
HEADER = File.join(ROOT, 'ext/lldb/lldb_wrapper.h')
|
|
8
|
+
SOURCE = File.join(ROOT, 'ext/lldb/lldb_wrapper.cpp')
|
|
9
|
+
SURFACE = File.join(ROOT, 'bindings/surface.yml')
|
|
10
|
+
|
|
11
|
+
options = { write: false }
|
|
12
|
+
OptionParser.new do |parser|
|
|
13
|
+
parser.banner = 'Usage: script/guard_c_exports [--write]'
|
|
14
|
+
parser.on('--write', 'Rewrite the C ABI exports with exception guards') { options[:write] = true }
|
|
15
|
+
end.parse!
|
|
16
|
+
|
|
17
|
+
def declarations(source)
|
|
18
|
+
source = source.gsub(%r{/\*.*?\*/|//[^\n]*}, '')
|
|
19
|
+
pattern = /(?:^|\n)\s*(?<return_type>[A-Za-z_][A-Za-z0-9_:<>*&\s]*?)\s+(?<name>lldb_[A-Za-z0-9_]+)\s*\((?<arguments>[^;]*)\)\s*(?:LLDB_WRAPPER_NOEXCEPT\s*)?;/m
|
|
20
|
+
source.to_enum(:scan, pattern).map do
|
|
21
|
+
Regexp.last_match.named_captures.transform_values(&:strip)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def matching_parenthesis(source, opening)
|
|
26
|
+
depth = 0
|
|
27
|
+
source.byteslice(opening..).each_byte.with_index do |byte, offset|
|
|
28
|
+
depth += 1 if byte == 40
|
|
29
|
+
depth -= 1 if byte == 41
|
|
30
|
+
return opening + offset if depth.zero?
|
|
31
|
+
end
|
|
32
|
+
raise "unclosed function parameter list at #{opening}"
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def matching_brace(source, opening)
|
|
36
|
+
depth = 0
|
|
37
|
+
source.byteslice(opening..).each_byte.with_index do |byte, offset|
|
|
38
|
+
depth += 1 if byte == 123
|
|
39
|
+
depth -= 1 if byte == 125
|
|
40
|
+
return opening + offset if depth.zero?
|
|
41
|
+
end
|
|
42
|
+
raise "unclosed function body at #{opening}"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def definition(source, name)
|
|
46
|
+
pattern = /\b#{Regexp.escape(name)}\s*\(/m
|
|
47
|
+
source.to_enum(:scan, pattern).each do
|
|
48
|
+
opening = Regexp.last_match.begin(0) + Regexp.last_match[0].index('(')
|
|
49
|
+
closing = matching_parenthesis(source, opening)
|
|
50
|
+
after_parameters = source.byteslice((closing + 1)..).to_s
|
|
51
|
+
next unless after_parameters =~ /\A\s*(?:LLDB_WRAPPER_NOEXCEPT\s*)?\{/m
|
|
52
|
+
|
|
53
|
+
body_opening = closing + 1 + Regexp.last_match[0].index('{')
|
|
54
|
+
return [body_opening, matching_brace(source, body_opening)]
|
|
55
|
+
end
|
|
56
|
+
raise "definition not found for #{name}"
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def guarded_body?(source, opening)
|
|
60
|
+
source.byteslice((opening + 1)..).to_s.match?(/\A\s*try\s*\{/)
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def catch_block(return_type)
|
|
64
|
+
failure_return = if return_type == 'void'
|
|
65
|
+
''
|
|
66
|
+
elsif return_type == 'lldb_ruby_status_t'
|
|
67
|
+
' return LLDB_RUBY_STATUS_INTERNAL_ERROR;' + 10.chr
|
|
68
|
+
else
|
|
69
|
+
' return {};' + 10.chr
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
<<~CPP
|
|
73
|
+
|
|
74
|
+
} catch (const std::bad_alloc&) {
|
|
75
|
+
wrapper_set_error_state("native allocation failed across the C ABI");
|
|
76
|
+
#{failure_return} } catch (const std::exception& exception) {
|
|
77
|
+
wrapper_set_error_state(exception.what());
|
|
78
|
+
#{failure_return} } catch (...) {
|
|
79
|
+
wrapper_set_error_state("unknown native exception across the C ABI");
|
|
80
|
+
#{failure_return} }
|
|
81
|
+
CPP
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def rewrite_header(header, entries)
|
|
85
|
+
rewritten = header.dup
|
|
86
|
+
entries.reverse_each do |entry|
|
|
87
|
+
pattern = /\b#{Regexp.escape(entry.fetch('name'))}\s*\([^;]*?\)\s*/m
|
|
88
|
+
match = rewritten.match(pattern)
|
|
89
|
+
raise "declaration not found for #{entry.fetch('name')}" unless match
|
|
90
|
+
next if rewritten.byteslice(match.end(0), 40).to_s.match?(/\A\s*LLDB_WRAPPER_NOEXCEPT\b/)
|
|
91
|
+
|
|
92
|
+
rewritten.insert(match.end(0), ' LLDB_WRAPPER_NOEXCEPT')
|
|
93
|
+
end
|
|
94
|
+
rewritten
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def rewrite_source(source, entries)
|
|
98
|
+
edits = entries.map do |entry|
|
|
99
|
+
opening, closing = definition(source, entry.fetch('name'))
|
|
100
|
+
next if guarded_body?(source, opening)
|
|
101
|
+
|
|
102
|
+
noexcept = source.byteslice((opening - 80)...opening).to_s.match?(/LLDB_WRAPPER_NOEXCEPT\s*$/)
|
|
103
|
+
[
|
|
104
|
+
[opening, (noexcept ? '' : ' LLDB_WRAPPER_NOEXCEPT')],
|
|
105
|
+
[opening + 1, "\n try {"],
|
|
106
|
+
[closing, catch_block(entry.fetch('return_type'))]
|
|
107
|
+
]
|
|
108
|
+
end.compact.flatten(1).sort_by(&:first).reverse
|
|
109
|
+
|
|
110
|
+
rewritten = source.dup
|
|
111
|
+
edits.each { |offset, text| rewritten.insert(offset, text) }
|
|
112
|
+
rewritten
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def rewrite_surface(surface)
|
|
116
|
+
needle = ['kind: reviewed_no_throw', ' reason: The export is tracked explicitly until its native error boundary is upgraded.'].join(10.chr)
|
|
117
|
+
replacement = ['kind: error_boundary', ' reason: Every export is noexcept and catches native C++ exceptions before crossing the C ABI.'].join(10.chr)
|
|
118
|
+
|
|
119
|
+
surface.gsub(needle, replacement)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
entries = declarations(File.read(HEADER))
|
|
123
|
+
abort "expected 482 declarations, found #{entries.length}" unless entries.length == 482
|
|
124
|
+
|
|
125
|
+
rewritten_header = rewrite_header(File.read(HEADER), entries)
|
|
126
|
+
rewritten_source = rewrite_source(File.read(SOURCE), entries)
|
|
127
|
+
rewritten_surface = rewrite_surface(File.read(SURFACE))
|
|
128
|
+
|
|
129
|
+
if options[:write]
|
|
130
|
+
File.write(HEADER, rewritten_header)
|
|
131
|
+
File.write(SOURCE, rewritten_source)
|
|
132
|
+
File.write(SURFACE, rewritten_surface)
|
|
133
|
+
puts "guarded #{entries.length} C ABI exports"
|
|
134
|
+
else
|
|
135
|
+
abort 'header requires exception-guard updates' unless rewritten_header == File.read(HEADER)
|
|
136
|
+
abort 'source requires exception-guard updates' unless rewritten_source == File.read(SOURCE)
|
|
137
|
+
abort 'surface ledger requires exception-guard updates' unless rewritten_surface == File.read(SURFACE)
|
|
138
|
+
puts "all #{entries.length} C ABI exports are guarded"
|
|
139
|
+
end
|
data/sig/lldb/ffi_bindings.rbs
CHANGED
|
@@ -2,15 +2,32 @@ module LLDB
|
|
|
2
2
|
module FFIBindings
|
|
3
3
|
extend FFI::Library
|
|
4
4
|
|
|
5
|
+
EXPECTED_WRAPPER_ABI_VERSION: Integer
|
|
6
|
+
CAPABILITIES: Hash[Symbol, Integer]
|
|
7
|
+
LIBRARY_PATH: String
|
|
8
|
+
|
|
5
9
|
def self.library_name: () -> String
|
|
6
10
|
def self.library_path: () -> String
|
|
11
|
+
def self.wrapper_abi_version: () -> Integer
|
|
12
|
+
def self.build_lldb_version: () -> String
|
|
13
|
+
def self.runtime_lldb_version: () -> String
|
|
14
|
+
def self.capability_supported?: (Symbol) -> bool
|
|
15
|
+
|
|
16
|
+
def self.lldb_wrapper_abi_version: () -> Integer
|
|
17
|
+
def self.lldb_wrapper_build_lldb_version: () -> String
|
|
18
|
+
def self.lldb_wrapper_runtime_lldb_version: () -> String
|
|
19
|
+
def self.lldb_wrapper_has_capability: (Integer) -> Integer
|
|
20
|
+
def self.lldb_wrapper_last_error_message: () -> String?
|
|
21
|
+
def self.lldb_wrapper_last_error_code: () -> Integer
|
|
22
|
+
def self.lldb_wrapper_clear_last_error: () -> void
|
|
7
23
|
|
|
8
24
|
# Initialization
|
|
9
|
-
def self.lldb_initialize: () ->
|
|
25
|
+
def self.lldb_initialize: (FFI::Pointer) -> Integer
|
|
10
26
|
def self.lldb_terminate: () -> void
|
|
11
27
|
|
|
12
28
|
# SBDebugger
|
|
13
29
|
def self.lldb_debugger_create: () -> FFI::Pointer
|
|
30
|
+
def self.lldb_debugger_create_with_source_init_files: (Integer) -> FFI::Pointer
|
|
14
31
|
def self.lldb_debugger_destroy: (FFI::Pointer) -> void
|
|
15
32
|
def self.lldb_debugger_is_valid: (FFI::Pointer) -> Integer
|
|
16
33
|
def self.lldb_debugger_create_target: (FFI::Pointer, String?, String?, String?, Integer, FFI::Pointer) -> FFI::Pointer
|
|
@@ -25,8 +42,40 @@ module LLDB
|
|
|
25
42
|
def self.lldb_debugger_get_async: (FFI::Pointer) -> Integer
|
|
26
43
|
def self.lldb_debugger_get_version_string: () -> String?
|
|
27
44
|
def self.lldb_debugger_get_command_interpreter: (FFI::Pointer) -> FFI::Pointer
|
|
45
|
+
def self.lldb_debugger_get_broadcaster: (FFI::Pointer) -> FFI::Pointer
|
|
46
|
+
def self.lldb_debugger_get_listener: (FFI::Pointer) -> FFI::Pointer
|
|
28
47
|
def self.lldb_debugger_handle_command: (FFI::Pointer, String) -> void
|
|
29
48
|
|
|
49
|
+
# SBBroadcaster, SBListener, and SBEvent
|
|
50
|
+
def self.lldb_broadcaster_create: (String?) -> FFI::Pointer
|
|
51
|
+
def self.lldb_broadcaster_destroy: (FFI::Pointer) -> void
|
|
52
|
+
def self.lldb_broadcaster_is_valid: (FFI::Pointer) -> Integer
|
|
53
|
+
def self.lldb_broadcaster_get_name: (FFI::Pointer) -> String?
|
|
54
|
+
def self.lldb_broadcaster_add_listener: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
55
|
+
def self.lldb_broadcaster_remove_listener: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
56
|
+
def self.lldb_broadcaster_event_type_has_listeners: (FFI::Pointer, Integer) -> Integer
|
|
57
|
+
def self.lldb_broadcaster_broadcast_event_by_type: (FFI::Pointer, Integer, Integer) -> void
|
|
58
|
+
def self.lldb_listener_create: (String?) -> FFI::Pointer
|
|
59
|
+
def self.lldb_listener_destroy: (FFI::Pointer) -> void
|
|
60
|
+
def self.lldb_listener_is_valid: (FFI::Pointer) -> Integer
|
|
61
|
+
def self.lldb_listener_start_listening_for_events: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
62
|
+
def self.lldb_listener_stop_listening_for_events: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
63
|
+
def self.lldb_listener_wait_for_event: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
64
|
+
def self.lldb_listener_peek_event: (FFI::Pointer) -> FFI::Pointer
|
|
65
|
+
def self.lldb_listener_next_event: (FFI::Pointer) -> FFI::Pointer
|
|
66
|
+
def self.lldb_event_destroy: (FFI::Pointer) -> void
|
|
67
|
+
def self.lldb_event_is_valid: (FFI::Pointer) -> Integer
|
|
68
|
+
def self.lldb_event_get_type: (FFI::Pointer) -> Integer
|
|
69
|
+
def self.lldb_event_get_data_flavor: (FFI::Pointer) -> String?
|
|
70
|
+
def self.lldb_event_get_broadcaster_class: (FFI::Pointer) -> String?
|
|
71
|
+
def self.lldb_event_get_description: (FFI::Pointer, FFI::Pointer?, Integer) -> Integer
|
|
72
|
+
def self.lldb_event_get_broadcaster: (FFI::Pointer) -> FFI::Pointer
|
|
73
|
+
def self.lldb_event_is_process_event: (FFI::Pointer) -> Integer
|
|
74
|
+
def self.lldb_event_get_process_state: (FFI::Pointer) -> Integer
|
|
75
|
+
def self.lldb_event_get_restarted: (FFI::Pointer) -> Integer
|
|
76
|
+
def self.lldb_event_get_interrupted: (FFI::Pointer) -> Integer
|
|
77
|
+
def self.lldb_event_get_process: (FFI::Pointer) -> FFI::Pointer
|
|
78
|
+
|
|
30
79
|
# SBTarget
|
|
31
80
|
def self.lldb_target_destroy: (FFI::Pointer) -> void
|
|
32
81
|
def self.lldb_target_is_valid: (FFI::Pointer) -> Integer
|
|
@@ -34,6 +83,7 @@ module LLDB
|
|
|
34
83
|
def self.lldb_target_launch: (FFI::Pointer, FFI::Pointer, FFI::Pointer) -> FFI::Pointer
|
|
35
84
|
def self.lldb_target_attach_to_process_with_id: (FFI::Pointer, Integer, FFI::Pointer) -> FFI::Pointer
|
|
36
85
|
def self.lldb_target_attach_to_process_with_name: (FFI::Pointer, String, Integer, FFI::Pointer) -> FFI::Pointer
|
|
86
|
+
def self.lldb_target_attach_with_info: (FFI::Pointer, FFI::Pointer, FFI::Pointer) -> FFI::Pointer
|
|
37
87
|
def self.lldb_target_breakpoint_create_by_name: (FFI::Pointer, String, String?) -> FFI::Pointer
|
|
38
88
|
def self.lldb_target_breakpoint_create_by_location: (FFI::Pointer, String, Integer) -> FFI::Pointer
|
|
39
89
|
def self.lldb_target_breakpoint_create_by_address: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
@@ -48,9 +98,11 @@ module LLDB
|
|
|
48
98
|
def self.lldb_target_get_breakpoint_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
49
99
|
def self.lldb_target_get_process: (FFI::Pointer) -> FFI::Pointer
|
|
50
100
|
def self.lldb_target_get_executable_path: (FFI::Pointer) -> String?
|
|
101
|
+
def self.lldb_target_get_executable_file: (FFI::Pointer) -> FFI::Pointer
|
|
51
102
|
def self.lldb_target_get_num_modules: (FFI::Pointer) -> Integer
|
|
52
103
|
def self.lldb_target_get_module_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
53
104
|
def self.lldb_target_evaluate_expression: (FFI::Pointer, String) -> FFI::Pointer
|
|
105
|
+
def self.lldb_target_evaluate_expression_with_options: (FFI::Pointer, String, FFI::Pointer) -> FFI::Pointer
|
|
54
106
|
def self.lldb_target_read_memory: (FFI::Pointer, Integer, FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
55
107
|
def self.lldb_target_get_address_byte_size: (FFI::Pointer) -> Integer
|
|
56
108
|
def self.lldb_target_get_triple: (FFI::Pointer) -> String?
|
|
@@ -64,20 +116,111 @@ module LLDB
|
|
|
64
116
|
# SBLaunchInfo
|
|
65
117
|
def self.lldb_launch_info_create: (FFI::Pointer?) -> FFI::Pointer
|
|
66
118
|
def self.lldb_launch_info_destroy: (FFI::Pointer) -> void
|
|
119
|
+
def self.lldb_launch_info_get_num_arguments: (FFI::Pointer) -> Integer
|
|
120
|
+
def self.lldb_launch_info_get_argument_at_index: (FFI::Pointer, Integer) -> String?
|
|
67
121
|
def self.lldb_launch_info_set_working_directory: (FFI::Pointer, String) -> void
|
|
122
|
+
def self.lldb_launch_info_get_working_directory: (FFI::Pointer) -> String?
|
|
68
123
|
def self.lldb_launch_info_set_environment_entries: (FFI::Pointer, FFI::Pointer?, Integer) -> void
|
|
124
|
+
def self.lldb_launch_info_get_num_environment_entries: (FFI::Pointer) -> Integer
|
|
125
|
+
def self.lldb_launch_info_get_environment_entry_at_index: (FFI::Pointer, Integer) -> String?
|
|
69
126
|
def self.lldb_launch_info_get_launch_flags: (FFI::Pointer) -> Integer
|
|
70
127
|
def self.lldb_launch_info_set_launch_flags: (FFI::Pointer, Integer) -> void
|
|
128
|
+
def self.lldb_launch_info_set_arguments: (FFI::Pointer, FFI::Pointer?, Integer) -> void
|
|
129
|
+
def self.lldb_launch_info_get_executable_file: (FFI::Pointer) -> FFI::Pointer
|
|
130
|
+
def self.lldb_launch_info_set_executable_file: (FFI::Pointer, FFI::Pointer, Integer) -> void
|
|
131
|
+
def self.lldb_launch_info_get_listener: (FFI::Pointer) -> FFI::Pointer
|
|
132
|
+
def self.lldb_launch_info_set_listener: (FFI::Pointer, FFI::Pointer) -> void
|
|
133
|
+
def self.lldb_launch_info_get_process_plugin_name: (FFI::Pointer) -> String?
|
|
134
|
+
def self.lldb_launch_info_set_process_plugin_name: (FFI::Pointer, String) -> void
|
|
135
|
+
def self.lldb_launch_info_get_shell: (FFI::Pointer) -> String?
|
|
136
|
+
def self.lldb_launch_info_set_shell: (FFI::Pointer, String) -> void
|
|
137
|
+
def self.lldb_launch_info_add_close_file_action: (FFI::Pointer, Integer) -> Integer
|
|
138
|
+
def self.lldb_launch_info_add_duplicate_file_action: (FFI::Pointer, Integer, Integer) -> Integer
|
|
139
|
+
def self.lldb_launch_info_add_open_file_action: (FFI::Pointer, Integer, String, Integer, Integer) -> Integer
|
|
140
|
+
def self.lldb_launch_info_add_suppress_file_action: (FFI::Pointer, Integer, Integer, Integer) -> Integer
|
|
141
|
+
|
|
142
|
+
# SBAttachInfo
|
|
143
|
+
def self.lldb_attach_info_create: (Integer) -> FFI::Pointer
|
|
144
|
+
def self.lldb_attach_info_destroy: (FFI::Pointer) -> void
|
|
145
|
+
def self.lldb_attach_info_get_process_id: (FFI::Pointer) -> Integer
|
|
146
|
+
def self.lldb_attach_info_set_process_id: (FFI::Pointer, Integer) -> void
|
|
147
|
+
def self.lldb_attach_info_set_executable: (FFI::Pointer, String) -> void
|
|
148
|
+
def self.lldb_attach_info_set_executable_file: (FFI::Pointer, FFI::Pointer) -> void
|
|
149
|
+
def self.lldb_attach_info_get_wait_for_launch: (FFI::Pointer) -> Integer
|
|
150
|
+
def self.lldb_attach_info_set_wait_for_launch: (FFI::Pointer, Integer) -> void
|
|
151
|
+
def self.lldb_attach_info_get_ignore_existing: (FFI::Pointer) -> Integer
|
|
152
|
+
def self.lldb_attach_info_set_ignore_existing: (FFI::Pointer, Integer) -> void
|
|
153
|
+
def self.lldb_attach_info_get_resume_count: (FFI::Pointer) -> Integer
|
|
154
|
+
def self.lldb_attach_info_set_resume_count: (FFI::Pointer, Integer) -> void
|
|
155
|
+
def self.lldb_attach_info_get_process_plugin_name: (FFI::Pointer) -> String?
|
|
156
|
+
def self.lldb_attach_info_set_process_plugin_name: (FFI::Pointer, String) -> void
|
|
157
|
+
def self.lldb_attach_info_get_listener: (FFI::Pointer) -> FFI::Pointer
|
|
158
|
+
def self.lldb_attach_info_set_listener: (FFI::Pointer, FFI::Pointer) -> void
|
|
159
|
+
|
|
160
|
+
# SBExpressionOptions
|
|
161
|
+
def self.lldb_expression_options_create: () -> FFI::Pointer
|
|
162
|
+
def self.lldb_expression_options_destroy: (FFI::Pointer) -> void
|
|
163
|
+
def self.lldb_expression_options_get_timeout: (FFI::Pointer) -> Integer
|
|
164
|
+
def self.lldb_expression_options_set_timeout: (FFI::Pointer, Integer) -> void
|
|
165
|
+
def self.lldb_expression_options_get_unwind_on_error: (FFI::Pointer) -> Integer
|
|
166
|
+
def self.lldb_expression_options_set_unwind_on_error: (FFI::Pointer, Integer) -> void
|
|
167
|
+
def self.lldb_expression_options_get_ignore_breakpoints: (FFI::Pointer) -> Integer
|
|
168
|
+
def self.lldb_expression_options_set_ignore_breakpoints: (FFI::Pointer, Integer) -> void
|
|
169
|
+
def self.lldb_expression_options_get_fetch_dynamic_value: (FFI::Pointer) -> Integer
|
|
170
|
+
def self.lldb_expression_options_set_fetch_dynamic_value: (FFI::Pointer, Integer) -> void
|
|
171
|
+
def self.lldb_expression_options_get_try_all_threads: (FFI::Pointer) -> Integer
|
|
172
|
+
def self.lldb_expression_options_set_try_all_threads: (FFI::Pointer, Integer) -> void
|
|
173
|
+
def self.lldb_expression_options_get_stop_others: (FFI::Pointer) -> Integer
|
|
174
|
+
def self.lldb_expression_options_set_stop_others: (FFI::Pointer, Integer) -> void
|
|
175
|
+
def self.lldb_expression_options_set_language: (FFI::Pointer, Integer) -> void
|
|
176
|
+
def self.lldb_expression_options_get_suppress_persistent_result: (FFI::Pointer) -> Integer
|
|
177
|
+
def self.lldb_expression_options_set_suppress_persistent_result: (FFI::Pointer, Integer) -> void
|
|
178
|
+
|
|
179
|
+
# SBFileSpec
|
|
180
|
+
def self.lldb_file_spec_create: (String?, Integer) -> FFI::Pointer
|
|
181
|
+
def self.lldb_file_spec_destroy: (FFI::Pointer) -> void
|
|
182
|
+
def self.lldb_file_spec_is_valid: (FFI::Pointer) -> Integer
|
|
183
|
+
def self.lldb_file_spec_exists: (FFI::Pointer) -> Integer
|
|
184
|
+
def self.lldb_file_spec_get_filename: (FFI::Pointer) -> String?
|
|
185
|
+
def self.lldb_file_spec_get_directory: (FFI::Pointer) -> String?
|
|
186
|
+
def self.lldb_file_spec_get_path: (FFI::Pointer, FFI::Pointer?, Integer) -> Integer
|
|
187
|
+
def self.lldb_file_spec_set_filename: (FFI::Pointer, String) -> void
|
|
188
|
+
def self.lldb_file_spec_set_directory: (FFI::Pointer, String) -> void
|
|
189
|
+
def self.lldb_file_spec_list_create: () -> FFI::Pointer
|
|
190
|
+
def self.lldb_file_spec_list_destroy: (FFI::Pointer) -> void
|
|
191
|
+
def self.lldb_file_spec_list_is_valid: (FFI::Pointer) -> Integer
|
|
192
|
+
def self.lldb_file_spec_list_get_size: (FFI::Pointer) -> Integer
|
|
193
|
+
def self.lldb_file_spec_list_append: (FFI::Pointer, FFI::Pointer) -> void
|
|
194
|
+
def self.lldb_file_spec_list_append_if_unique: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
195
|
+
def self.lldb_file_spec_list_clear: (FFI::Pointer) -> void
|
|
196
|
+
def self.lldb_file_spec_list_get_file_spec_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
197
|
+
|
|
198
|
+
# SBAddress and SBLineEntry
|
|
199
|
+
def self.lldb_address_create: () -> FFI::Pointer
|
|
200
|
+
def self.lldb_address_create_from_load_address: (Integer, FFI::Pointer) -> FFI::Pointer
|
|
201
|
+
def self.lldb_address_destroy: (FFI::Pointer) -> void
|
|
202
|
+
def self.lldb_address_is_valid: (FFI::Pointer) -> Integer
|
|
203
|
+
def self.lldb_address_get_file_address: (FFI::Pointer) -> Integer
|
|
204
|
+
def self.lldb_address_get_load_address: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
205
|
+
def self.lldb_address_get_offset: (FFI::Pointer) -> Integer
|
|
206
|
+
def self.lldb_address_get_line_entry: (FFI::Pointer) -> FFI::Pointer
|
|
207
|
+
def self.lldb_line_entry_destroy: (FFI::Pointer) -> void
|
|
208
|
+
def self.lldb_line_entry_is_valid: (FFI::Pointer) -> Integer
|
|
209
|
+
def self.lldb_line_entry_get_start_address: (FFI::Pointer) -> FFI::Pointer
|
|
210
|
+
def self.lldb_line_entry_get_end_address: (FFI::Pointer) -> FFI::Pointer
|
|
211
|
+
def self.lldb_line_entry_get_file_spec: (FFI::Pointer) -> FFI::Pointer
|
|
212
|
+
def self.lldb_line_entry_get_line: (FFI::Pointer) -> Integer
|
|
213
|
+
def self.lldb_line_entry_get_column: (FFI::Pointer) -> Integer
|
|
71
214
|
|
|
72
215
|
# SBProcess
|
|
73
216
|
def self.lldb_process_destroy: (FFI::Pointer) -> void
|
|
74
217
|
def self.lldb_process_is_valid: (FFI::Pointer) -> Integer
|
|
75
|
-
def self.lldb_process_continue: (FFI::Pointer) -> Integer
|
|
76
|
-
def self.lldb_process_stop: (FFI::Pointer) -> Integer
|
|
77
|
-
def self.lldb_process_kill: (FFI::Pointer) -> Integer
|
|
78
|
-
def self.lldb_process_detach: (FFI::Pointer) -> Integer
|
|
79
|
-
def self.lldb_process_destroy_process: (FFI::Pointer) -> Integer
|
|
80
|
-
def self.lldb_process_signal: (FFI::Pointer, Integer) -> Integer
|
|
218
|
+
def self.lldb_process_continue: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
219
|
+
def self.lldb_process_stop: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
220
|
+
def self.lldb_process_kill: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
221
|
+
def self.lldb_process_detach: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
222
|
+
def self.lldb_process_destroy_process: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
223
|
+
def self.lldb_process_signal: (FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
81
224
|
def self.lldb_process_get_state: (FFI::Pointer) -> Integer
|
|
82
225
|
def self.lldb_process_get_num_threads: (FFI::Pointer) -> Integer
|
|
83
226
|
def self.lldb_process_get_thread_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
@@ -92,13 +235,14 @@ module LLDB
|
|
|
92
235
|
def self.lldb_process_read_memory: (FFI::Pointer, Integer, FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
93
236
|
def self.lldb_process_write_memory: (FFI::Pointer, Integer, FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
94
237
|
def self.lldb_process_allocate_memory: (FFI::Pointer, Integer, Integer, FFI::Pointer) -> Integer
|
|
95
|
-
def self.lldb_process_deallocate_memory: (FFI::Pointer, Integer) -> Integer
|
|
238
|
+
def self.lldb_process_deallocate_memory: (FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
96
239
|
def self.lldb_process_read_cstring_from_memory: (FFI::Pointer, Integer, FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
97
240
|
def self.lldb_process_get_stdout: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
98
241
|
def self.lldb_process_get_stderr: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
99
|
-
def self.lldb_process_put_stdin: (FFI::Pointer,
|
|
100
|
-
def self.lldb_process_send_async_interrupt: (FFI::Pointer) ->
|
|
101
|
-
def self.
|
|
242
|
+
def self.lldb_process_put_stdin: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
243
|
+
def self.lldb_process_send_async_interrupt: (FFI::Pointer) -> void
|
|
244
|
+
def self.lldb_process_get_broadcaster: (FFI::Pointer) -> FFI::Pointer
|
|
245
|
+
def self.lldb_process_get_num_supported_hardware_watchpoints: (FFI::Pointer, FFI::Pointer, FFI::Pointer) -> Integer
|
|
102
246
|
def self.lldb_process_get_unique_id: (FFI::Pointer) -> Integer
|
|
103
247
|
def self.lldb_process_get_memory_region_info: (FFI::Pointer, Integer, FFI::Pointer) -> FFI::Pointer
|
|
104
248
|
|
|
@@ -115,11 +259,11 @@ module LLDB
|
|
|
115
259
|
# SBThread
|
|
116
260
|
def self.lldb_thread_destroy: (FFI::Pointer) -> void
|
|
117
261
|
def self.lldb_thread_is_valid: (FFI::Pointer) -> Integer
|
|
118
|
-
def self.lldb_thread_step_over: (FFI::Pointer) -> Integer
|
|
119
|
-
def self.lldb_thread_step_into: (FFI::Pointer) -> Integer
|
|
120
|
-
def self.lldb_thread_step_out: (FFI::Pointer) -> Integer
|
|
121
|
-
def self.lldb_thread_step_instruction: (FFI::Pointer, Integer) -> Integer
|
|
122
|
-
def self.lldb_thread_run_to_address: (FFI::Pointer, Integer) -> Integer
|
|
262
|
+
def self.lldb_thread_step_over: (FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
263
|
+
def self.lldb_thread_step_into: (FFI::Pointer, String?, Integer, Integer, FFI::Pointer) -> Integer
|
|
264
|
+
def self.lldb_thread_step_out: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
265
|
+
def self.lldb_thread_step_instruction: (FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
266
|
+
def self.lldb_thread_run_to_address: (FFI::Pointer, Integer, FFI::Pointer) -> Integer
|
|
123
267
|
def self.lldb_thread_get_num_frames: (FFI::Pointer) -> Integer
|
|
124
268
|
def self.lldb_thread_get_frame_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
125
269
|
def self.lldb_thread_get_selected_frame: (FFI::Pointer) -> FFI::Pointer
|
|
@@ -129,7 +273,7 @@ module LLDB
|
|
|
129
273
|
def self.lldb_thread_get_name: (FFI::Pointer) -> String?
|
|
130
274
|
def self.lldb_thread_get_queue_name: (FFI::Pointer) -> String?
|
|
131
275
|
def self.lldb_thread_get_stop_reason: (FFI::Pointer) -> Integer
|
|
132
|
-
def self.lldb_thread_get_stop_description: (FFI::Pointer, Integer) ->
|
|
276
|
+
def self.lldb_thread_get_stop_description: (FFI::Pointer, FFI::Pointer?, Integer) -> Integer
|
|
133
277
|
def self.lldb_thread_get_stop_reason_data_count: (FFI::Pointer) -> Integer
|
|
134
278
|
def self.lldb_thread_get_stop_reason_data_at_index: (FFI::Pointer, Integer) -> Integer
|
|
135
279
|
def self.lldb_thread_is_stopped: (FFI::Pointer) -> Integer
|
|
@@ -145,6 +289,8 @@ module LLDB
|
|
|
145
289
|
def self.lldb_frame_get_display_function_name: (FFI::Pointer) -> String?
|
|
146
290
|
def self.lldb_frame_get_line: (FFI::Pointer) -> Integer
|
|
147
291
|
def self.lldb_frame_get_file_path: (FFI::Pointer) -> String?
|
|
292
|
+
def self.lldb_frame_get_file_spec: (FFI::Pointer) -> FFI::Pointer
|
|
293
|
+
def self.lldb_frame_get_line_entry: (FFI::Pointer) -> FFI::Pointer
|
|
148
294
|
def self.lldb_frame_get_column: (FFI::Pointer) -> Integer
|
|
149
295
|
def self.lldb_frame_get_pc: (FFI::Pointer) -> Integer
|
|
150
296
|
def self.lldb_frame_set_pc: (FFI::Pointer, Integer) -> Integer
|
|
@@ -152,9 +298,15 @@ module LLDB
|
|
|
152
298
|
def self.lldb_frame_get_fp: (FFI::Pointer) -> Integer
|
|
153
299
|
def self.lldb_frame_find_variable: (FFI::Pointer, String) -> FFI::Pointer
|
|
154
300
|
def self.lldb_frame_evaluate_expression: (FFI::Pointer, String) -> FFI::Pointer
|
|
301
|
+
def self.lldb_frame_evaluate_expression_with_options: (FFI::Pointer, String, FFI::Pointer) -> FFI::Pointer
|
|
155
302
|
def self.lldb_frame_get_value_for_variable_path: (FFI::Pointer, String) -> FFI::Pointer
|
|
156
303
|
def self.lldb_frame_get_frame_id: (FFI::Pointer) -> Integer
|
|
157
304
|
def self.lldb_frame_get_thread: (FFI::Pointer) -> FFI::Pointer
|
|
305
|
+
def self.lldb_frame_get_function: (FFI::Pointer) -> FFI::Pointer
|
|
306
|
+
def self.lldb_frame_get_symbol: (FFI::Pointer) -> FFI::Pointer
|
|
307
|
+
def self.lldb_frame_get_compile_unit: (FFI::Pointer) -> FFI::Pointer
|
|
308
|
+
def self.lldb_frame_get_block: (FFI::Pointer) -> FFI::Pointer
|
|
309
|
+
def self.lldb_frame_get_instruction_list: (FFI::Pointer, FFI::Pointer) -> FFI::Pointer
|
|
158
310
|
def self.lldb_frame_get_symbol_context: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
159
311
|
def self.lldb_frame_get_variables: (FFI::Pointer, Integer, Integer, Integer, Integer) -> FFI::Pointer
|
|
160
312
|
def self.lldb_frame_get_registers: (FFI::Pointer) -> FFI::Pointer
|
|
@@ -193,6 +345,7 @@ module LLDB
|
|
|
193
345
|
def self.lldb_breakpoint_location_is_valid: (FFI::Pointer) -> Integer
|
|
194
346
|
def self.lldb_breakpoint_location_get_id: (FFI::Pointer) -> Integer
|
|
195
347
|
def self.lldb_breakpoint_location_get_load_address: (FFI::Pointer) -> Integer
|
|
348
|
+
def self.lldb_breakpoint_location_get_address: (FFI::Pointer) -> FFI::Pointer
|
|
196
349
|
def self.lldb_breakpoint_location_is_enabled: (FFI::Pointer) -> Integer
|
|
197
350
|
def self.lldb_breakpoint_location_set_enabled: (FFI::Pointer, Integer) -> void
|
|
198
351
|
def self.lldb_breakpoint_location_get_hit_count: (FFI::Pointer) -> Integer
|
|
@@ -213,8 +366,8 @@ module LLDB
|
|
|
213
366
|
def self.lldb_value_get_num_children: (FFI::Pointer) -> Integer
|
|
214
367
|
def self.lldb_value_get_child_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
215
368
|
def self.lldb_value_get_child_member_with_name: (FFI::Pointer, String) -> FFI::Pointer
|
|
216
|
-
def self.lldb_value_get_value_as_signed: (FFI::Pointer) -> Integer
|
|
217
|
-
def self.lldb_value_get_value_as_unsigned: (FFI::Pointer) -> Integer
|
|
369
|
+
def self.lldb_value_get_value_as_signed: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
370
|
+
def self.lldb_value_get_value_as_unsigned: (FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
218
371
|
def self.lldb_value_get_byte_size: (FFI::Pointer) -> Integer
|
|
219
372
|
def self.lldb_value_might_have_children: (FFI::Pointer) -> Integer
|
|
220
373
|
def self.lldb_value_get_error: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
@@ -246,6 +399,7 @@ module LLDB
|
|
|
246
399
|
def self.lldb_error_fail: (FFI::Pointer) -> Integer
|
|
247
400
|
def self.lldb_error_get_cstring: (FFI::Pointer) -> String?
|
|
248
401
|
def self.lldb_error_get_error: (FFI::Pointer) -> Integer
|
|
402
|
+
def self.lldb_error_get_type: (FFI::Pointer) -> Integer
|
|
249
403
|
def self.lldb_error_clear: (FFI::Pointer) -> void
|
|
250
404
|
def self.lldb_error_set_error_string: (FFI::Pointer, String) -> void
|
|
251
405
|
|
|
@@ -254,7 +408,67 @@ module LLDB
|
|
|
254
408
|
def self.lldb_module_is_valid: (FFI::Pointer) -> Integer
|
|
255
409
|
def self.lldb_module_get_file_path: (FFI::Pointer) -> String?
|
|
256
410
|
def self.lldb_module_get_platform_file_path: (FFI::Pointer) -> String?
|
|
411
|
+
def self.lldb_module_get_file: (FFI::Pointer) -> FFI::Pointer
|
|
412
|
+
def self.lldb_module_get_platform_file: (FFI::Pointer) -> FFI::Pointer
|
|
257
413
|
def self.lldb_module_get_num_symbols: (FFI::Pointer) -> Integer
|
|
414
|
+
def self.lldb_module_get_symbol_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
415
|
+
|
|
416
|
+
# SBSymbol, SBFunction, SBCompileUnit, and SBBlock
|
|
417
|
+
def self.lldb_symbol_destroy: (FFI::Pointer) -> void
|
|
418
|
+
def self.lldb_symbol_is_valid: (FFI::Pointer) -> Integer
|
|
419
|
+
def self.lldb_symbol_get_name: (FFI::Pointer) -> String?
|
|
420
|
+
def self.lldb_symbol_get_display_name: (FFI::Pointer) -> String?
|
|
421
|
+
def self.lldb_symbol_get_mangled_name: (FFI::Pointer) -> String?
|
|
422
|
+
def self.lldb_symbol_get_base_name: (FFI::Pointer) -> String?
|
|
423
|
+
def self.lldb_symbol_get_start_address: (FFI::Pointer) -> FFI::Pointer
|
|
424
|
+
def self.lldb_symbol_get_end_address: (FFI::Pointer) -> FFI::Pointer
|
|
425
|
+
def self.lldb_symbol_get_value: (FFI::Pointer) -> Integer
|
|
426
|
+
def self.lldb_symbol_get_size: (FFI::Pointer) -> Integer
|
|
427
|
+
def self.lldb_symbol_get_prologue_byte_size: (FFI::Pointer) -> Integer
|
|
428
|
+
def self.lldb_symbol_get_type: (FFI::Pointer) -> Integer
|
|
429
|
+
def self.lldb_symbol_get_id: (FFI::Pointer) -> Integer
|
|
430
|
+
def self.lldb_function_destroy: (FFI::Pointer) -> void
|
|
431
|
+
def self.lldb_function_is_valid: (FFI::Pointer) -> Integer
|
|
432
|
+
def self.lldb_function_get_name: (FFI::Pointer) -> String?
|
|
433
|
+
def self.lldb_function_get_display_name: (FFI::Pointer) -> String?
|
|
434
|
+
def self.lldb_function_get_mangled_name: (FFI::Pointer) -> String?
|
|
435
|
+
def self.lldb_function_get_base_name: (FFI::Pointer) -> String?
|
|
436
|
+
def self.lldb_function_get_start_address: (FFI::Pointer) -> FFI::Pointer
|
|
437
|
+
def self.lldb_function_get_end_address: (FFI::Pointer) -> FFI::Pointer
|
|
438
|
+
def self.lldb_function_get_prologue_byte_size: (FFI::Pointer) -> Integer
|
|
439
|
+
def self.lldb_function_get_type: (FFI::Pointer) -> FFI::Pointer
|
|
440
|
+
def self.lldb_function_get_block: (FFI::Pointer) -> FFI::Pointer
|
|
441
|
+
def self.lldb_function_is_optimized: (FFI::Pointer) -> Integer
|
|
442
|
+
def self.lldb_function_get_language: (FFI::Pointer) -> Integer
|
|
443
|
+
def self.lldb_compile_unit_destroy: (FFI::Pointer) -> void
|
|
444
|
+
def self.lldb_compile_unit_is_valid: (FFI::Pointer) -> Integer
|
|
445
|
+
def self.lldb_compile_unit_get_file_spec: (FFI::Pointer) -> FFI::Pointer
|
|
446
|
+
def self.lldb_compile_unit_get_num_line_entries: (FFI::Pointer) -> Integer
|
|
447
|
+
def self.lldb_compile_unit_get_line_entry_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
448
|
+
def self.lldb_block_destroy: (FFI::Pointer) -> void
|
|
449
|
+
def self.lldb_block_is_valid: (FFI::Pointer) -> Integer
|
|
450
|
+
def self.lldb_block_get_inlined_name: (FFI::Pointer) -> String?
|
|
451
|
+
def self.lldb_block_get_inlined_call_site_file: (FFI::Pointer) -> FFI::Pointer
|
|
452
|
+
def self.lldb_block_get_inlined_call_site_line: (FFI::Pointer) -> Integer
|
|
453
|
+
def self.lldb_block_get_inlined_call_site_column: (FFI::Pointer) -> Integer
|
|
454
|
+
def self.lldb_block_get_parent: (FFI::Pointer) -> FFI::Pointer
|
|
455
|
+
def self.lldb_block_get_sibling: (FFI::Pointer) -> FFI::Pointer
|
|
456
|
+
def self.lldb_block_get_first_child: (FFI::Pointer) -> FFI::Pointer
|
|
457
|
+
def self.lldb_block_get_num_ranges: (FFI::Pointer) -> Integer
|
|
458
|
+
def self.lldb_block_get_range_start_address: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
459
|
+
def self.lldb_block_get_range_end_address: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
460
|
+
def self.lldb_instruction_list_destroy: (FFI::Pointer) -> void
|
|
461
|
+
def self.lldb_instruction_list_is_valid: (FFI::Pointer) -> Integer
|
|
462
|
+
def self.lldb_instruction_list_get_size: (FFI::Pointer) -> Integer
|
|
463
|
+
def self.lldb_instruction_list_get_instruction_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
464
|
+
def self.lldb_instruction_destroy: (FFI::Pointer) -> void
|
|
465
|
+
def self.lldb_instruction_is_valid: (FFI::Pointer) -> Integer
|
|
466
|
+
def self.lldb_instruction_get_address: (FFI::Pointer) -> FFI::Pointer
|
|
467
|
+
def self.lldb_instruction_get_mnemonic: (FFI::Pointer, FFI::Pointer) -> String?
|
|
468
|
+
def self.lldb_instruction_get_operands: (FFI::Pointer, FFI::Pointer) -> String?
|
|
469
|
+
def self.lldb_instruction_get_comment: (FFI::Pointer, FFI::Pointer) -> String?
|
|
470
|
+
def self.lldb_instruction_get_byte_size: (FFI::Pointer) -> Integer
|
|
471
|
+
def self.lldb_instruction_get_bytes: (FFI::Pointer, FFI::Pointer, FFI::Pointer, Integer) -> Integer
|
|
258
472
|
|
|
259
473
|
# SBSymbolContext
|
|
260
474
|
def self.lldb_symbol_context_destroy: (FFI::Pointer) -> void
|
|
@@ -286,7 +500,17 @@ module LLDB
|
|
|
286
500
|
def self.lldb_type_get_num_fields: (FFI::Pointer) -> Integer
|
|
287
501
|
def self.lldb_type_get_num_direct_base_classes: (FFI::Pointer) -> Integer
|
|
288
502
|
def self.lldb_type_get_num_virtual_base_classes: (FFI::Pointer) -> Integer
|
|
503
|
+
def self.lldb_type_get_field_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
504
|
+
def self.lldb_type_get_direct_base_class_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
505
|
+
def self.lldb_type_get_virtual_base_class_at_index: (FFI::Pointer, Integer) -> FFI::Pointer
|
|
289
506
|
def self.lldb_type_get_basic_type: (FFI::Pointer) -> Integer
|
|
507
|
+
def self.lldb_type_member_destroy: (FFI::Pointer) -> void
|
|
508
|
+
def self.lldb_type_member_is_valid: (FFI::Pointer) -> Integer
|
|
509
|
+
def self.lldb_type_member_get_name: (FFI::Pointer) -> String?
|
|
510
|
+
def self.lldb_type_member_get_type: (FFI::Pointer) -> FFI::Pointer
|
|
511
|
+
def self.lldb_type_member_get_offset_in_bytes: (FFI::Pointer) -> Integer
|
|
512
|
+
def self.lldb_type_member_get_offset_in_bits: (FFI::Pointer) -> Integer
|
|
513
|
+
def self.lldb_type_member_get_bitfield_size_in_bits: (FFI::Pointer) -> Integer
|
|
290
514
|
|
|
291
515
|
# SBWatchpoint
|
|
292
516
|
def self.lldb_watchpoint_destroy: (FFI::Pointer) -> void
|
|
@@ -301,8 +525,8 @@ module LLDB
|
|
|
301
525
|
def self.lldb_watchpoint_set_condition: (FFI::Pointer, String?) -> void
|
|
302
526
|
def self.lldb_watchpoint_get_watch_address: (FFI::Pointer) -> Integer
|
|
303
527
|
def self.lldb_watchpoint_get_watch_size: (FFI::Pointer) -> Integer
|
|
304
|
-
def self.lldb_watchpoint_is_watching_reads: (FFI::Pointer) -> Integer
|
|
305
|
-
def self.lldb_watchpoint_is_watching_writes: (FFI::Pointer) -> Integer
|
|
528
|
+
def self.lldb_watchpoint_is_watching_reads: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
529
|
+
def self.lldb_watchpoint_is_watching_writes: (FFI::Pointer, FFI::Pointer) -> Integer
|
|
306
530
|
|
|
307
531
|
# SBCommandInterpreter
|
|
308
532
|
def self.lldb_command_interpreter_destroy: (FFI::Pointer) -> void
|
|
@@ -317,7 +541,9 @@ module LLDB
|
|
|
317
541
|
def self.lldb_command_return_object_is_valid: (FFI::Pointer) -> Integer
|
|
318
542
|
def self.lldb_command_return_object_get_output: (FFI::Pointer) -> String?
|
|
319
543
|
def self.lldb_command_return_object_get_error: (FFI::Pointer) -> String?
|
|
544
|
+
def self.lldb_command_return_object_get_status: (FFI::Pointer) -> Integer
|
|
320
545
|
def self.lldb_command_return_object_succeeded: (FFI::Pointer) -> Integer
|
|
546
|
+
def self.lldb_command_return_object_has_result: (FFI::Pointer) -> Integer
|
|
321
547
|
def self.lldb_command_return_object_clear: (FFI::Pointer) -> void
|
|
322
548
|
end
|
|
323
549
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lldb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yudai Takada
|
|
@@ -38,35 +38,56 @@ files:
|
|
|
38
38
|
- README.md
|
|
39
39
|
- Rakefile
|
|
40
40
|
- Steepfile
|
|
41
|
+
- bindings/constants.yml
|
|
42
|
+
- bindings/surface.yml
|
|
41
43
|
- examples/basic_debug.rb
|
|
42
44
|
- examples/breakpoints.rb
|
|
43
45
|
- examples/expression_eval.rb
|
|
44
46
|
- examples/test_program.c
|
|
45
|
-
- ext/lldb/
|
|
47
|
+
- ext/lldb/discovery.rb
|
|
46
48
|
- ext/lldb/extconf.rb
|
|
47
|
-
- ext/lldb/liblldb_wrapper.dylib
|
|
48
49
|
- ext/lldb/lldb_wrapper.cpp
|
|
49
50
|
- ext/lldb/lldb_wrapper.h
|
|
50
|
-
- ext/lldb/lldb_wrapper.o
|
|
51
|
-
- ext/lldb/mkmf.log
|
|
52
51
|
- lib/lldb.rb
|
|
52
|
+
- lib/lldb/address.rb
|
|
53
53
|
- lib/lldb/api_support.rb
|
|
54
|
+
- lib/lldb/attach_info.rb
|
|
55
|
+
- lib/lldb/block.rb
|
|
54
56
|
- lib/lldb/breakpoint.rb
|
|
55
57
|
- lib/lldb/breakpoint_location.rb
|
|
58
|
+
- lib/lldb/broadcaster.rb
|
|
56
59
|
- lib/lldb/command_interpreter.rb
|
|
57
60
|
- lib/lldb/command_return_object.rb
|
|
61
|
+
- lib/lldb/compile_unit.rb
|
|
62
|
+
- lib/lldb/context.rb
|
|
58
63
|
- lib/lldb/debugger.rb
|
|
59
64
|
- lib/lldb/error.rb
|
|
65
|
+
- lib/lldb/event.rb
|
|
66
|
+
- lib/lldb/expression_options.rb
|
|
60
67
|
- lib/lldb/ffi_bindings.rb
|
|
68
|
+
- lib/lldb/file_spec.rb
|
|
69
|
+
- lib/lldb/file_spec_list.rb
|
|
61
70
|
- lib/lldb/frame.rb
|
|
71
|
+
- lib/lldb/function.rb
|
|
72
|
+
- lib/lldb/instruction.rb
|
|
73
|
+
- lib/lldb/instruction_list.rb
|
|
62
74
|
- lib/lldb/launch_info.rb
|
|
75
|
+
- lib/lldb/line_entry.rb
|
|
76
|
+
- lib/lldb/listener.rb
|
|
63
77
|
- lib/lldb/memory_region_info.rb
|
|
64
78
|
- lib/lldb/module.rb
|
|
79
|
+
- lib/lldb/native.rb
|
|
80
|
+
- lib/lldb/native_buffer.rb
|
|
81
|
+
- lib/lldb/native_handle.rb
|
|
82
|
+
- lib/lldb/native_lifecycle.rb
|
|
83
|
+
- lib/lldb/native_string_array.rb
|
|
65
84
|
- lib/lldb/process.rb
|
|
85
|
+
- lib/lldb/symbol.rb
|
|
66
86
|
- lib/lldb/symbol_context.rb
|
|
67
87
|
- lib/lldb/target.rb
|
|
68
88
|
- lib/lldb/thread.rb
|
|
69
89
|
- lib/lldb/type.rb
|
|
90
|
+
- lib/lldb/type_member.rb
|
|
70
91
|
- lib/lldb/types.rb
|
|
71
92
|
- lib/lldb/value.rb
|
|
72
93
|
- lib/lldb/value_list.rb
|
|
@@ -75,7 +96,10 @@ files:
|
|
|
75
96
|
- lldb.gemspec
|
|
76
97
|
- rbs_collection.lock.yaml
|
|
77
98
|
- rbs_collection.yaml
|
|
99
|
+
- script/check_bindings
|
|
100
|
+
- script/guard_c_exports
|
|
78
101
|
- sig/lldb/ffi_bindings.rbs
|
|
102
|
+
- sig/lldb/weak_ref.rbs
|
|
79
103
|
homepage: https://github.com/ydah/lldb-ruby
|
|
80
104
|
licenses:
|
|
81
105
|
- MIT
|
|
@@ -98,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
98
122
|
- !ruby/object:Gem::Version
|
|
99
123
|
version: '0'
|
|
100
124
|
requirements: []
|
|
101
|
-
rubygems_version: 4.0.
|
|
125
|
+
rubygems_version: 4.0.6
|
|
102
126
|
specification_version: 4
|
|
103
127
|
summary: Ruby bindings for LLDB debugger
|
|
104
128
|
test_files: []
|