mirror of
https://github.com/bdnugget/eggos.git
synced 2026-11-07 04:17:27 +00:00
36 lines
843 B
Plaintext
36 lines
843 B
Plaintext
#set architecture i386:x86-64:intel
|
|
#set architecture i386
|
|
#file mutiboot.elf
|
|
#set architecture i386:x86-64
|
|
#target remote :1234
|
|
display/i $pc
|
|
|
|
define xbt
|
|
set $tid=$arg0
|
|
set $save_pc = $pc
|
|
set $save_sp = $sp
|
|
select-frame 0
|
|
set $pc = 'github.com/icexin/eggos/kernel.threads'[$tid].tf.IP
|
|
set $sp = 'github.com/icexin/eggos/kernel.threads'[$tid].tf.SP
|
|
bt
|
|
|
|
set $pc = $save_pc
|
|
set $sp = $save_sp
|
|
end
|
|
|
|
define xps
|
|
set $i = 0
|
|
while $i < 20
|
|
set $t = 'github.com/icexin/eggos/kernel.threads'[$i]
|
|
set $addr = 0
|
|
if $t.tf != 0
|
|
set $addr = $t.tf.IP
|
|
end
|
|
printf "thread[%d]={state=%d, counter=%d, pc=0x%x lock=0x%x}", $i, $t.state, $t.counter, $addr, $t.sleepKey
|
|
if $t.sleepKey != 0
|
|
x $t.sleepKey
|
|
end
|
|
set $i = $i+1
|
|
end
|
|
end
|