class Lapis::Debugger::RadareDriver

Defined in:

libgodot/debugger/radare_driver.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(r2_path : String = "r2") #

Class Method Detail

def self.available?(custom_path : String | Nil = nil) : Bool #

Returns true if radare2 is installed and functional


def self.find_radare2(custom_path : String | Nil = nil) : String | Nil #

Discovers radare2 executable path on system


Instance Method Detail

def attach(pid : Int64) : Bool #

Spawns radare2 session and attaches to target process ID


def attached_pid : Int64 | Nil #

def breakpoints : Hash(Int32, BreakpointInfo) #

def classifier : ContextClassifier #

def client : Cradare2::Client | Nil #

def continue_exec : Void #

Resumes execution in the target process asynchronously via worker thread


def decompiler : Decompiler | Nil #

def detach : Void #

Detaches radare2 cleanly


def evaluate(expr : String) : String #

Evaluates an expression in radare2


def interrupt_exec : Void #

Interrupts/pauses the target process


def lockstep_paused_externally : Bool #

Indicates whether the current pause was triggered by a cooperative peer lockstep break


def lockstep_paused_externally=(lockstep_paused_externally : Bool) #

Indicates whether the current pause was triggered by a cooperative peer lockstep break


def on_backtrace : Proc(Array(StackFrame), Nil) | Nil #

def on_backtrace=(on_backtrace : Proc(Array(StackFrame), Nil) | Nil) #

def on_continue : Proc(Nil) | Nil #

def on_continue=(on_continue : Proc(Nil) | Nil) #

def on_exit : Proc(Int32, Nil) | Nil #

def on_exit=(on_exit : Proc(Int32, Nil) | Nil) #

def on_output : Proc(String, Nil) | Nil #

def on_output=(on_output : Proc(String, Nil) | Nil) #

def on_stop : Proc(StopInfo, Nil) | Nil #

def on_stop=(on_stop : Proc(StopInfo, Nil) | Nil) #

def parse_frame_line(line : String) : StackFrame | Nil #

def parse_stop_info(line : String) : StopInfo #

Parses stop event string for mock testing


def parse_stop_reason(line : String) : StopReason #

def poll : Void #

Pumps background events non-blockingly on the Godot main thread


def process_line(line : String) : Void #

Processes streaming raw text line for headless testing or mock events


def remove_breakpoint(file : String, line : Int32) : Bool #

Removes a breakpoint by file and line


def remove_breakpoint(id : Int32) : Bool #

Removes a breakpoint by ID


def request_backtrace : Void #

Requests call stack frames and dispatches on_backtrace


def request_variables(frame_index : Int32 = 0) : Array(VariableInfo) #

Requests local variables for active frame


def send_command(command : String) : String #

Sends an interactive raw command string to radare2


def set_breakpoint(file : String, line : Int32) : BreakpointInfo #

Sets a breakpoint at the given file and line


def state : DriverState #

def state=(state : DriverState) #

def step_instruction : Void #

Single instruction step


def step_into : Void #

Step into source call


def step_out : Void #

Step out of current function


def step_over : Void #

Step over source call


def sync_all_breakpoints : Void #

Synchronizes all cached breakpoints to the active radare2 process