summaryrefslogtreecommitdiffstats
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2012-06-27 20:23:09 +0000
committerGreg Clayton <gclayton@apple.com>2012-06-27 20:23:09 +0000
commit8567355e8c5cb73f8fe17961a613590d41a74132 (patch)
tree305be2f90b2da9591f7cb913f4f0617c6430c43e /lldb/scripts/Python
parent3e6dde6652f3814fd88f403749141d75eb5ae771 (diff)
downloadbcm5719-llvm-8567355e8c5cb73f8fe17961a613590d41a74132.tar.gz
bcm5719-llvm-8567355e8c5cb73f8fe17961a613590d41a74132.zip
Modify the ranges_access() helper function to be able to lookup the address range in a block given an address. Since blocks can have multiple discontiguous ranges, it helps to be able to get the current address range for the current block in a frame. This can be used in code like:
curr_block_range = lldb.frame.block.range[lldb.frame.addr] llvm-svn: 159289
Diffstat (limited to 'lldb/scripts/Python')
-rw-r--r--lldb/scripts/Python/interface/SBBlock.i4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/scripts/Python/interface/SBBlock.i b/lldb/scripts/Python/interface/SBBlock.i
index c8435df4890..fbab9741ed6 100644
--- a/lldb/scripts/Python/interface/SBBlock.i
+++ b/lldb/scripts/Python/interface/SBBlock.i
@@ -123,6 +123,10 @@ public:
count = len(self)
if type(key) is int:
return self.sbblock.get_range_at_index (key);
+ if isinstance(key, SBAddress):
+ range_idx = self.sbblock.GetRangeIndexForBlockAddress(key);
+ if range_idx < len(self):
+ return [self.sbblock.GetRangeStartAddress(range_idx), self.sbblock.GetRangeEndAddress(range_idx)]
else:
print "error: unsupported item type: %s" % type(key)
return None
OpenPOWER on IntegriCloud