|
|
|
@ -610,79 +610,6 @@ document zbacktrace |
|
|
|
> (gdb) dump_bt $eg.current_execute_data |
|
|
|
end |
|
|
|
|
|
|
|
define zmemcheck |
|
|
|
set $p = alloc_globals.head |
|
|
|
set $stat = "?" |
|
|
|
set $total_size = 0 |
|
|
|
if $arg0 != 0 |
|
|
|
set $not_found = 1 |
|
|
|
else |
|
|
|
set $not_found = 0 |
|
|
|
end |
|
|
|
printf " block size status file:line\n" |
|
|
|
printf "-------------------------------------------------------------------------------\n" |
|
|
|
while $p |
|
|
|
set $aptr = $p + sizeof(struct _zend_mem_header) + sizeof(align_test) |
|
|
|
if $arg0 == 0 || (void *)$aptr == (void *)$arg0 |
|
|
|
if $p->magic == 0x7312f8dc |
|
|
|
set $stat = "OK" |
|
|
|
end |
|
|
|
if $p->magic == 0x99954317 |
|
|
|
set $stat = "FREED" |
|
|
|
end |
|
|
|
if $p->magic == 0xfb8277dc |
|
|
|
set $stat = "CACHED" |
|
|
|
end |
|
|
|
set $filename = strrchr($p->filename->val, '/') |
|
|
|
if !$filename |
|
|
|
set $filename = $p->filename->val |
|
|
|
else |
|
|
|
set $filename = $filename + 1 |
|
|
|
end |
|
|
|
printf " %p ", $aptr |
|
|
|
if $p->size == sizeof(struct _zval_struct) && ((struct _zval_struct *)$aptr)->type >= 0 && ((struct _zval_struct *)$aptr)->type < 10 |
|
|
|
printf "ZVAL?(%-2d) ", $p->size |
|
|
|
else |
|
|
|
printf "%-9d ", $p->size |
|
|
|
end |
|
|
|
set $total_size = $total_size + $p->size |
|
|
|
printf "%-06s %s:%d", $stat, $filename, $p->lineno |
|
|
|
if $p->orig_filename |
|
|
|
set $orig_filename = strrchr($p->orig_filename, '/') |
|
|
|
if !$orig_filename |
|
|
|
set $orig_filename = $p->orig_filename |
|
|
|
else |
|
|
|
set $orig_filename = $orig_filename + 1 |
|
|
|
end |
|
|
|
printf " <= %s:%d\n", $orig_filename, $p->orig_lineno |
|
|
|
else |
|
|
|
printf "\n" |
|
|
|
end |
|
|
|
if $arg0 != 0 |
|
|
|
set $p = 0 |
|
|
|
set $not_found = 0 |
|
|
|
else |
|
|
|
set $p = $p->pNext |
|
|
|
end |
|
|
|
else |
|
|
|
set $p = $p->pNext |
|
|
|
end |
|
|
|
end |
|
|
|
if $not_found |
|
|
|
printf "no such block that begins at %p.\n", $aptr |
|
|
|
end |
|
|
|
if $arg0 == 0 |
|
|
|
printf "-------------------------------------------------------------------------------\n" |
|
|
|
printf " total: %d bytes\n", $total_size |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
document zmemcheck |
|
|
|
show status of a memory block. |
|
|
|
usage: zmemcheck [ptr]. |
|
|
|
if ptr is 0, all blocks will be listed. |
|
|
|
end |
|
|
|
|
|
|
|
define lookup_root |
|
|
|
set $found = 0 |
|
|
|
if gc_globals->roots |
|
|
|
|