Browse Source

Break out the task stack usage sniffer so we can use it on systems where the task layout has been shrunk (e.g. PX4IO)

sbg
px4dev 12 years ago
parent
commit
404332aefe
  1. 20
      Debug/NuttX

20
Debug/NuttX

@ -168,17 +168,29 @@ define _showsemaphore @@ -168,17 +168,29 @@ define _showsemaphore
printf "\n"
end
define showtask
#
# Print information about a task's stack usage
#
define showtaskstack
set $task = (struct _TCB *)$arg0
printf "%p %.2d ", $task, $task->pid
_showtaskstate $task
printf " %s\n", $task->name
set $stack_free = 0
while ($stack_free < $task->adj_stack_size) && *(uint8_t *)($task->stack_alloc_ptr + $stack_free)
set $stack_free = $stack_free + 1
end
printf" stack 0x%08x-0x%08x (%d) %d free\n", $task->stack_alloc_ptr, $task->adj_stack_ptr, $task->adj_stack_size, $stack_free
end
#
# Print details of a task
#
define showtask
set $task = (struct _TCB *)$arg0
printf "%p %.2d ", $task, $task->pid
_showtaskstate $task
printf " %s\n", $task->name
showtaskstack $task
if $task->task_state == TSTATE_WAIT_SEM
printf " waiting on %p ", $task->waitsem

Loading…
Cancel
Save