40 lines
650 B
Plaintext
40 lines
650 B
Plaintext
file sysroot/boot/kernel
|
|
target remote localhost:1234
|
|
break int_handler_breakpoint
|
|
break page_fault_breakpoint
|
|
|
|
define q
|
|
monitor quit
|
|
end
|
|
|
|
define reg
|
|
monitor info registers
|
|
end
|
|
|
|
define mm
|
|
monitor info mem
|
|
end
|
|
|
|
define cpu
|
|
monitor info cpus
|
|
end
|
|
|
|
define reset
|
|
monitor system_reset
|
|
end
|
|
|
|
define restore_env
|
|
set $name = $arg0
|
|
python
|
|
registers = ['rax', 'rbx', 'rcx', 'rdx', 'rsi',
|
|
'rdi', 'rbp', 'rsp', 'r8', 'r9', 'r10', 'r11',
|
|
'r12', 'r13', 'r14', 'r15', 'rip']
|
|
values = {}
|
|
for r in registers:
|
|
values[r] = gdb.parse_and_eval('$name->{}'.format(r))
|
|
|
|
for r in registers:
|
|
gdb.parse_and_eval('${}={}'.format(r, values[r]))
|
|
gdb.execute('frame 0')
|
|
end
|