SYMBOL INDEX (123 symbols across 15 files) FILE: build.rs function main (line 3) | fn main() { FILE: src/breakpoint.rs constant DR7_LEN_BIT (line 13) | const DR7_LEN_BIT: [usize; 4] = [19, 23, 27, 31]; constant DR7_RW_BIT (line 14) | const DR7_RW_BIT: [usize; 4] = [17, 21, 25, 29]; constant DR7_LE_BIT (line 15) | const DR7_LE_BIT: [usize; 4] = [0, 2, 4, 6]; constant DR7_GE_BIT (line 16) | const DR7_GE_BIT: [usize; 4] = [1, 3, 5, 7]; constant DR7_LEN_SIZE (line 18) | const DR7_LEN_SIZE: usize = 2; constant DR7_RW_SIZE (line 19) | const DR7_RW_SIZE: usize = 2; constant DR6_B_BIT (line 21) | const DR6_B_BIT: [usize; 4] = [0, 1, 2, 3]; constant EFLAG_RF (line 23) | const EFLAG_RF: usize = 16; type Breakpoint (line 25) | struct Breakpoint { type BreakpointManager (line 30) | pub struct BreakpointManager { method new (line 53) | pub fn new() -> BreakpointManager { method get_free_id (line 57) | fn get_free_id(&self) -> u32 { method add_breakpoint (line 66) | pub fn add_breakpoint(&mut self, addr: u64) { method list_breakpoints (line 71) | pub fn list_breakpoints(&self, process: &mut Process) { method clear_breakpoint (line 81) | pub fn clear_breakpoint(&mut self, id: u32) { method was_breakpoint_hit (line 85) | pub fn was_breakpoint_hit(&self, thread_context: &CONTEXT) -> Option(val: &mut T, set_val: T, start_bit: usize, bit_c... function get_bit (line 45) | fn get_bit(val: T, bit_index: usize) -> bool { FILE: src/command.rs type CommandExpr (line 11) | pub enum CommandExpr { type EvalExpr (line 31) | pub enum EvalExpr { type Whitespace (line 44) | struct Whitespace { function parse_int (line 49) | fn parse_int(text: &str) -> u64 { function parse_sym (line 59) | fn parse_sym(text: &str) -> String { function parse_path (line 63) | fn parse_path(text: &str) -> String { function parse_source_line (line 67) | fn parse_source_line(text: &str) -> (String, String, u32) { function convert_parse_error_to_diagnostics (line 81) | fn convert_parse_error_to_diagnostics( function read_command (line 130) | pub fn read_command() -> grammar::CommandExpr { FILE: src/eval.rs type EvalContext (line 8) | pub struct EvalContext<'a> { function evaluate_expression (line 14) | pub fn evaluate_expression(expr: EvalExpr, context: &mut EvalContext) ->... FILE: src/event.rs type DebugEvent (line 9) | pub enum DebugEvent { type EventContext (line 20) | pub struct EventContext { function wait_for_next_debug_event (line 25) | pub fn wait_for_next_debug_event(mem_source: &dyn MemorySource) -> (Even... FILE: src/main.rs constant TRAP_FLAG (line 31) | const TRAP_FLAG: u32 = 1 << 8; function show_usage (line 33) | fn show_usage(error_message: &str) { function wcslen (line 38) | unsafe fn wcslen(ptr: *const u16) -> usize { function parse_command_line (line 50) | fn parse_command_line() -> Result, &'static str> { function load_module_at_address (line 79) | fn load_module_at_address(process: &mut Process, memory_source: &dyn Mem... function main_debugger_loop (line 85) | fn main_debugger_loop(process: HANDLE) { function main (line 317) | fn main() { FILE: src/memory.rs type MemorySource (line 4) | pub trait MemorySource { method read_memory (line 6) | fn read_memory(&self, address: u64, len: usize) -> Result Vec; method read_memory (line 99) | fn read_memory(&self, address: u64, len: usize) -> Result Vec { function read_memory_array (line 11) | pub fn read_memory_array( function read_memory_full_array (line 33) | pub fn read_memory_full_array( function read_memory_data (line 47) | pub fn read_memory_data( function read_memory_string (line 55) | pub fn read_memory_string( function read_memory_string_indirect (line 80) | pub fn read_memory_string_indirect( type LiveMemorySource (line 90) | struct LiveMemorySource { function make_live_memory_source (line 94) | pub fn make_live_memory_source(hprocess: Foundation::HANDLE) -> Box bool { method read_debug_info (line 106) | fn read_debug_info(pe_header: &IMAGE_NT_HEADERS64, module_address: u64... method get_data_directory (line 142) | pub fn get_data_directory(&self, entry: IMAGE_DIRECTORY_ENTRY) -> IMAG... method read_exports (line 146) | fn read_exports(pe_header: &IMAGE_NT_HEADERS64, module_address: u64, m... type Export (line 20) | pub struct Export { method to_string (line 28) | fn to_string(&self) -> String { type ExportTarget (line 37) | pub enum ExportTarget { type PdbInfo (line 44) | pub struct PdbInfo { method clone (line 53) | fn clone(&self) -> Self { FILE: src/name_resolution.rs type AddressMatch (line 7) | enum AddressMatch<'a> { function is_none (line 13) | fn is_none(&self) -> bool { function resolve_name_to_address (line 21) | pub fn resolve_name_to_address(sym: &str, process: &mut Process) -> Resu... function resolve_function_in_module (line 43) | pub fn resolve_function_in_module(module: &mut Module, func: &str) -> Op... function resolve_export_in_module (line 53) | fn resolve_export_in_module(module: &mut Module, func: &str) -> Option Res... function resolve_address_to_name (line 92) | pub fn resolve_address_to_name(address: u64, process: &mut Process) -> O... FILE: src/process.rs type Process (line 5) | pub struct Process { method new (line 11) | pub fn new() -> Process { method add_module (line 15) | pub fn add_module(&mut self, address: u64, name: Option, memor... method add_thread (line 21) | pub fn add_thread(&mut self, thread_id: u32) { method remove_thread (line 25) | pub fn remove_thread(&mut self, thread_id: u32) { method iterate_threads (line 29) | pub fn iterate_threads(&self) -> core::slice::Iter<'_, u32> { method _get_containing_module (line 33) | pub fn _get_containing_module(&self, address: u64) -> Option<&Module> { method get_containing_module_mut (line 43) | pub fn get_containing_module_mut(&mut self, address: u64) -> Option<&m... method get_module_by_name_mut (line 53) | pub fn get_module_by_name_mut(&mut self, module_name: &str) -> Option<... FILE: src/registers.rs function display_all (line 5) | pub fn display_all(context: &CONTEXT) { function display_named (line 14) | pub fn display_named(context: &CONTEXT, reg_name: &str) { function get_register (line 22) | pub fn get_register(context: &CONTEXT, reg_name: &str) -> Result) ->... FILE: src/stack.rs type RUNTIME_FUNCTION (line 8) | pub struct RUNTIME_FUNCTION { type UNWIND_INFO (line 17) | pub struct UNWIND_INFO { type UNWIND_CODE (line 27) | pub struct UNWIND_CODE { constant UWOP_PUSH_NONVOL (line 32) | const UWOP_PUSH_NONVOL: u8 = 0; constant UWOP_ALLOC_LARGE (line 33) | const UWOP_ALLOC_LARGE: u8 = 1; constant UWOP_ALLOC_SMALL (line 34) | const UWOP_ALLOC_SMALL: u8 = 2; constant UWOP_SET_FPREG (line 35) | const UWOP_SET_FPREG: u8 = 3; constant UWOP_SAVE_NONVOL (line 36) | const UWOP_SAVE_NONVOL: u8 = 4; constant UWOP_SAVE_NONVOL_FAR (line 37) | const UWOP_SAVE_NONVOL_FAR: u8 = 5; constant UWOP_SAVE_XMM128 (line 38) | const UWOP_SAVE_XMM128: u8 = 8; constant UWOP_SAVE_XMM128_FAR (line 39) | const UWOP_SAVE_XMM128_FAR: u8 = 9; constant UWOP_PUSH_MACHFRAME (line 40) | const UWOP_PUSH_MACHFRAME: u8 = 10; constant UNW_FLAG_NHANDLER (line 42) | const UNW_FLAG_NHANDLER: u8 = 0x0; constant UNW_FLAG_EHANDLER (line 43) | const UNW_FLAG_EHANDLER: u8 = 0x1; constant UNW_FLAG_UHANDLER (line 44) | const UNW_FLAG_UHANDLER: u8 = 0x2; constant UNW_FLAG_CHAININFO (line 45) | const UNW_FLAG_CHAININFO: u8 = 0x4; type UnwindOp (line 49) | enum UnwindOp { type UnwindCode (line 60) | struct UnwindCode { function find_runtime_function (line 65) | fn find_runtime_function(addr: u32, function_list: &[RUNTIME_FUNCTION]) ... function get_unwind_ops (line 102) | fn get_unwind_ops(code_slots: &[u16], frame_register: u8, frame_offset: ... function get_op_register (line 178) | fn get_op_register<'a>(context: &'a mut CONTEXT, reg: u8) -> &'a mut u64 { function apply_unwind_ops (line 200) | fn apply_unwind_ops(context: &CONTEXT, unwind_ops: &[UnwindCode], func_a... function unwind_context (line 230) | pub fn unwind_context(process: &mut Process, context: CONTEXT, memory_so... FILE: src/unassemble.rs function unassemble (line 5) | pub fn unassemble(memory_source: &dyn MemorySource, va: u64, lines: usiz... FILE: src/util.rs constant CONTEXT_AMD64 (line 5) | pub const CONTEXT_AMD64: u32 = 0x00100000; constant CONTEXT_CONTROL (line 6) | pub const CONTEXT_CONTROL: u32 = CONTEXT_AMD64 | 0x00000001; constant CONTEXT_INTEGER (line 7) | pub const CONTEXT_INTEGER: u32 = CONTEXT_AMD64 | 0x00000002; constant CONTEXT_SEGMENTS (line 8) | pub const CONTEXT_SEGMENTS: u32 = CONTEXT_AMD64 | 0x00000004; constant CONTEXT_FLOATING_POINT (line 9) | pub const CONTEXT_FLOATING_POINT: u32 = CONTEXT_AMD64 | 0x00000008; constant CONTEXT_DEBUG_REGISTERS (line 10) | pub const CONTEXT_DEBUG_REGISTERS: u32 = CONTEXT_AMD64 | 0x00000010; constant CONTEXT_FULL (line 12) | pub const CONTEXT_FULL: u32 = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEX... constant CONTEXT_ALL (line 13) | pub const CONTEXT_ALL: u32 = CONTEXT_CONTROL type AlignedContext (line 20) | pub struct AlignedContext { type AutoClosedHandle (line 25) | pub struct AutoClosedHandle(pub HANDLE); method handle (line 36) | pub fn handle(&self) -> HANDLE { method drop (line 28) | fn drop(&mut self) {