mirror of
https://github.com/apache/nuttx.git
synced 2026-08-29 05:10:44 +00:00
gdbinit: add support for reporting total and used stack size
This checks if the required function is defined (when stack coloration is enabled) and, if so, calls it to get used stack. Otherwise it just reports zero used stack.
This commit is contained in:
parent
328b7c06bc
commit
a150e03e24
1 changed files with 11 additions and 2 deletions
|
|
@ -67,6 +67,9 @@ define _examine_target
|
|||
|
||||
set $_target_max_tasks = sizeof(g_pidhash) / sizeof(struct pidhash_s)
|
||||
|
||||
python if (type(gdb.lookup_global_symbol("up_check_tcbstack")) is gdb.Symbol) : \
|
||||
gdb.execute("set $_target_has_stack_coloration = 1")
|
||||
|
||||
printf "target examined \n"
|
||||
python print("_target_arch.name=" + _target_arch.name())
|
||||
|
||||
|
|
@ -88,9 +91,15 @@ define _print_thread
|
|||
printf " "
|
||||
end
|
||||
|
||||
printf "%d Thread 0x%x (Name: %s, State: %s, Priority: %d) 0x%x in ", \
|
||||
if ($_target_has_stack_coloration)
|
||||
set $stack_used = up_check_tcbstack($tcb)
|
||||
else
|
||||
set $stack_used = 0
|
||||
end
|
||||
|
||||
printf "%d Thread 0x%x (Name: %s, State: %s, Priority: %d, Stack: %d/%d) PC: 0x%x in ", \
|
||||
$tcb->pid, $tcb, $tcb->name, g_statenames[$tcb->task_state], $tcb->sched_priority, \
|
||||
$tcb->xcp.regs[$_pc_reg_idx]
|
||||
$stack_used, $tcb->adj_stack_size, $tcb->xcp.regs[$_pc_reg_idx]
|
||||
python _symbol = gdb.execute("info symbol $tcb->xcp.regs[$_pc_reg_idx]", to_string=True); \
|
||||
print(_symbol.split()[0] + "()")
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue