class
Cradare2::DSL::Debugger
- Cradare2::DSL::Debugger
- Reference
- Object
Overview
High-level debugger DSL for controlling execution, breakpoints, registers, memory maps, and crash reports.
Defined in:
cradare2/dsl/debugger.crConstructors
Instance Method Summary
-
#analyze_registers(regs : Model::Registers | Nil = nil) : Analysis::RegisterAnalysis
Performs deep structural analysis on current CPU registers and memory boundaries.
-
#attach(pid : Int32) : self
Attaches to a running process by PID.
-
#backtrace : Array(Model::StackFrame)
Returns the call stack / backtrace frames (dbtj).
-
#backtrace_symbols : Array(String)
Returns list of demangled backtrace function symbols.
-
#breakpoint(target : UInt64 | Int32 | Int64 | String) : self
Sets a software breakpoint at the given address or symbol (db).
-
#breakpoints : Array(Model::Breakpoint)
Returns list of active breakpoints as typed models.
-
#classify_memory(address : UInt64) : Analysis::ClassifiedAddress
Classifies an arbitrary pointer against the debugged process memory maps.
-
#clear_breakpoints : self
Removes all breakpoints (db-*).
-
#continue : self
Continues execution of the debugged process (dc).
-
#crash_report(regs : Model::Registers | Nil = nil, bt : Array(Model::StackFrame) | Nil = nil) : String
Generates a detailed, demangled native crash diagnostic report.
-
#detach : self
Detaches from current process.
-
#diagnose_crash(regs : Model::Registers | Nil = nil, bt : Array(Model::StackFrame) | Nil = nil) : Model::CrashDiagnosis
Generates a structured crash diagnosis with root-cause pattern analysis and remediation steps.
-
#kill : self
Sends SIGKILL or terminates the debugged process.
-
#maps : Array(Model::MemoryMap)
Returns the loaded memory maps / regions (dmj).
-
#memory_classifier : Analysis::MemoryClassifier
Returns a memory classifier configured with the currently loaded memory maps.
-
#pid : Int32 | Nil
Returns current process ID if debugging.
-
#registers : Model::Registers
Returns current CPU registers as a strongly typed
Registersmodel. -
#remove_breakpoint(target : UInt64 | Int32 | Int64 | String) : self
Removes a breakpoint at the given address or symbol (db-).
-
#running? : Bool
Checks if the debugged process is currently active/attached.
-
#set_register(name : String, value : UInt64) : self
Sets a register to a specific value (e.g.
-
#status : String
Returns debugger execution status text.
-
#step : self
Steps one single machine instruction (ds).
-
#step_over : self
Steps over calls or compound instructions (dso).
-
#step_until(address : UInt64 | Int32 | Int64 | String) : self
Continues execution until reaching the specified target address (dsu).
-
#threads : Array(Model::Thread)
Returns active threads in the process (dptj).
Constructor Detail
Instance Method Detail
Performs deep structural analysis on current CPU registers and memory boundaries.
Sets a software breakpoint at the given address or symbol (db).
Classifies an arbitrary pointer against the debugged process memory maps.
Generates a detailed, demangled native crash diagnostic report. Includes crash instruction pointer, active function, faulting memory region, registers dump, and demangled call stack.
Generates a structured crash diagnosis with root-cause pattern analysis and remediation steps.
Returns a memory classifier configured with the currently loaded memory maps.
Returns current CPU registers as a strongly typed Registers model.
Removes a breakpoint at the given address or symbol (db-).
Sets a register to a specific value (e.g. set_register("rax", 0x1234)).
Continues execution until reaching the specified target address (dsu).