mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-05-30 18:06:39 +08:00
Add heap used/free summaries to heap dump
This commit is contained in:
@@ -27,6 +27,8 @@ end
|
|||||||
|
|
||||||
define _showheap
|
define _showheap
|
||||||
set $index = $arg0
|
set $index = $arg0
|
||||||
|
set $used = 0
|
||||||
|
set $free = 0
|
||||||
if (sizeof(struct mm_allocnode_s) == 4)
|
if (sizeof(struct mm_allocnode_s) == 4)
|
||||||
set $MM_ALLOC_BIT = 0x8000
|
set $MM_ALLOC_BIT = 0x8000
|
||||||
else
|
else
|
||||||
@@ -41,6 +43,9 @@ define _showheap
|
|||||||
printf " %u", $nodestruct->size
|
printf " %u", $nodestruct->size
|
||||||
if !($nodestruct->preceding & $MM_ALLOC_BIT)
|
if !($nodestruct->preceding & $MM_ALLOC_BIT)
|
||||||
printf " FREE"
|
printf " FREE"
|
||||||
|
set $free = $free + $nodestruct->size
|
||||||
|
else
|
||||||
|
set $used = $used + $nodestruct->size
|
||||||
end
|
end
|
||||||
if ($nodestruct->size > g_heapsize) || (($node + $nodestruct->size) > g_heapend[$index])
|
if ($nodestruct->size > g_heapsize) || (($node + $nodestruct->size) > g_heapend[$index])
|
||||||
printf " (BAD SIZE)"
|
printf " (BAD SIZE)"
|
||||||
@@ -48,6 +53,9 @@ define _showheap
|
|||||||
printf "\n"
|
printf "\n"
|
||||||
set $node = $node + $nodestruct->size
|
set $node = $node + $nodestruct->size
|
||||||
end
|
end
|
||||||
|
printf " ----------\n"
|
||||||
|
printf " Used: %u\n", $used
|
||||||
|
printf " Free: %u\n\n", $free
|
||||||
end
|
end
|
||||||
|
|
||||||
define showheap
|
define showheap
|
||||||
|
|||||||
Reference in New Issue
Block a user