``get_basic_blocks_starting_at`` get a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects which start at the provided virtual address. :param int addr: virtual address of BasicBlock desired :return: a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects :rtype: list(B
(self, addr: int)
| 5216 | core.BNFreeBasicBlockList(blocks, count.value) |
| 5217 | |
| 5218 | def get_basic_blocks_starting_at(self, addr: int) -> List['basicblock.BasicBlock']: |
| 5219 | """ |
| 5220 | ``get_basic_blocks_starting_at`` get a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects which start at the provided virtual address. |
| 5221 | |
| 5222 | :param int addr: virtual address of BasicBlock desired |
| 5223 | :return: a list of :py:class:`~binaryninja.basicblock.BasicBlock` objects |
| 5224 | :rtype: list(BasicBlock) |
| 5225 | """ |
| 5226 | count = ctypes.c_ulonglong(0) |
| 5227 | blocks = core.BNGetBasicBlocksStartingAtAddress(self.handle, addr, count) |
| 5228 | assert blocks is not None, "core.BNGetBasicBlocksStartingAtAddress returned None" |
| 5229 | result = [] |
| 5230 | try: |
| 5231 | for i in range(0, count.value): |
| 5232 | block_handle = core.BNNewBasicBlockReference(blocks[i]) |
| 5233 | assert block_handle is not None, "core.BNNewBasicBlockReference returned None" |
| 5234 | result.append(basicblock.BasicBlock(block_handle, self)) |
| 5235 | return result |
| 5236 | finally: |
| 5237 | core.BNFreeBasicBlockList(blocks, count.value) |
| 5238 | |
| 5239 | def get_recent_basic_block_at(self, addr: int) -> Optional['basicblock.BasicBlock']: |
| 5240 | block = core.BNGetRecentBasicBlockForAddress(self.handle, addr) |
nothing calls this directly
no test coverage detected