diff options
author | Greg Clayton <gclayton@apple.com> | 2012-06-27 20:23:09 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2012-06-27 20:23:09 +0000 |
commit | 8567355e8c5cb73f8fe17961a613590d41a74132 (patch) | |
tree | 305be2f90b2da9591f7cb913f4f0617c6430c43e /lldb/scripts/Python | |
parent | 3e6dde6652f3814fd88f403749141d75eb5ae771 (diff) | |
download | bcm5719-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.i | 4 |
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 |