Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions main/debug_gdb_scripts.c
Original file line number Diff line number Diff line change
Expand Up @@ -847,14 +847,14 @@ asm(
".ascii \" for i in range(0, num_children):\\n\"\n"
".ascii \" c = children[i]\\n\"\n"
".ascii \" if int(c) != 0:\\n\"\n"
".ascii \" c = c.dereference()\\n\"\n"
".ascii \" c = ZendAstPrettyPrinter(c.dereference()).cast()\\n\"\n"
".ascii \" yield ('child[%d]' % i, c)\\n\"\n"
".ascii \" elif field.name == 'name':\\n\"\n"
".ascii \" yield (field.name, format_zstr(val[field.name]))\\n\"\n"
".ascii \" elif field.name == 'val':\\n\"\n"
".ascii \" yield (field.name, ZvalPrettyPrinter(val[field.name]).to_string())\\n\"\n"
".ascii \" else:\\n\"\n"
".ascii \" yield (field.name, format_nested(self.val[field.name]))\\n\"\n"
".ascii \" yield (field.name, format_nested(val[field.name]))\\n\"\n"
".ascii \"\\n\"\n"
".ascii \" def is_special(self):\\n\"\n"
".ascii \" special_shift = 6 # ZEND_AST_SPECIAL_SHIFT\\n\"\n"
Expand Down Expand Up @@ -1631,6 +1631,9 @@ asm(
".ascii \" return ary_type.fields()[0].type.range()[1]+1\\n\"\n"
".ascii \"\\n\"\n"
".ascii \"def format_zstr(zstr):\\n\"\n"
".ascii \" if zstr.type.code == gdb.TYPE_CODE_PTR and int(zstr) == 0:\\n\"\n"
".ascii \" return zstr\\n\"\n"
".ascii \"\\n\"\n"
".ascii \" len = int(zstr['len'])\\n\"\n"
".ascii \" truncated = False\\n\"\n"
".ascii \" if len > 200:\\n\"\n"
Expand Down
7 changes: 5 additions & 2 deletions scripts/gdb/php_gdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,14 +177,14 @@ def children(self):
for i in range(0, num_children):
c = children[i]
if int(c) != 0:
c = c.dereference()
c = ZendAstPrettyPrinter(c.dereference()).cast()
yield ('child[%d]' % i, c)
elif field.name == 'name':
yield (field.name, format_zstr(val[field.name]))
elif field.name == 'val':
yield (field.name, ZvalPrettyPrinter(val[field.name]).to_string())
else:
yield (field.name, format_nested(self.val[field.name]))
yield (field.name, format_nested(val[field.name]))

def is_special(self):
special_shift = 6 # ZEND_AST_SPECIAL_SHIFT
Expand Down Expand Up @@ -961,6 +961,9 @@ def array_size(ary_type):
return ary_type.fields()[0].type.range()[1]+1

def format_zstr(zstr):
if zstr.type.code == gdb.TYPE_CODE_PTR and int(zstr) == 0:
return zstr

len = int(zstr['len'])
truncated = False
if len > 200:
Expand Down
Loading