File tree 1 file changed +5
-4
lines changed
1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change 1
1
from sys import version_info
2
2
3
3
import gdb
4
- from gdb import lookup_type
5
4
6
5
if version_info [0 ] >= 3 :
7
6
xrange = range
@@ -213,7 +212,7 @@ def children_of_btree_map(map):
213
212
def children_of_node (node_ptr , height ):
214
213
def cast_to_internal (node ):
215
214
internal_type_name = node .type .target ().name .replace ("LeafNode" , "InternalNode" , 1 )
216
- internal_type = lookup_type (internal_type_name )
215
+ internal_type = gdb . lookup_type (internal_type_name )
217
216
return node .cast (internal_type .pointer ())
218
217
219
218
leaf = node_ptr .dereference ()
@@ -230,8 +229,10 @@ def cast_to_internal(node):
230
229
yield child
231
230
if i < length :
232
231
# Avoid "Cannot perform pointer math on incomplete type" on zero-sized arrays.
233
- key = keys [i ]["value" ]["value" ] if keys .type .sizeof > 0 else "()"
234
- val = vals [i ]["value" ]["value" ] if vals .type .sizeof > 0 else "()"
232
+ key_type_size = keys .type .sizeof
233
+ val_type_size = vals .type .sizeof
234
+ key = keys [i ]["value" ]["value" ] if key_type_size > 0 else gdb .parse_and_eval ("()" )
235
+ val = vals [i ]["value" ]["value" ] if val_type_size > 0 else gdb .parse_and_eval ("()" )
235
236
yield key , val
236
237
237
238
if map ["length" ] > 0 :
You can’t perform that action at this time.
0 commit comments