|
IDAPython 9.0
|
Try blocks have the following general properties:
See examples in tests/input/src/eh_tests.
Classes | |
| class | catch_t |
| Proxy of C++ catch_t class. More... | |
| class | catchvec_t |
| Proxy of C++ qvector< catch_t > class. More... | |
| class | seh_t |
| Proxy of C++ seh_t class. More... | |
| class | try_handler_t |
| Proxy of C++ try_handler_t class. More... | |
| class | tryblk_t |
| Proxy of C++ tryblk_t class. More... | |
| class | tryblks_t |
| Proxy of C++ qvector< tryblk_t > class. More... | |
Functions | |
| "size_t" | get_tryblks ("tryblks_t" tbv, "range_t" range) |
| get_tryblks(tbv, range) -> size_t Retrieve try block information from the specified address range. | |
| "void" | del_tryblks ("range_t" range) |
| del_tryblks(range) Delete try block information in the specified range. | |
| "int" | add_tryblk ("tryblk_t" tb) |
| add_tryblk(tb) -> int Add one try block information. | |
| "ea_t" | find_syseh ("ea_t" ea) |
| find_syseh(ea) -> ea_t Find the start address of the system eh region including the argument. | |
| "bool" | is_ea_tryblks ("ea_t" ea, "uint32" flags) |
| is_ea_tryblks(ea, flags) -> bool Check if the given address ea is part of tryblks description. | |
Variables | |
| TBERR_OK = _ida_tryblks.TBERR_OK | |
| TBERR_START = _ida_tryblks.TBERR_START | |
| TBERR_END = _ida_tryblks.TBERR_END | |
| TBERR_ORDER = _ida_tryblks.TBERR_ORDER | |
| TBERR_EMPTY = _ida_tryblks.TBERR_EMPTY | |
| TBERR_KIND = _ida_tryblks.TBERR_KIND | |
| TBERR_NO_CATCHES = _ida_tryblks.TBERR_NO_CATCHES | |
| TBERR_INTERSECT = _ida_tryblks.TBERR_INTERSECT | |
| TBEA_TRY = _ida_tryblks.TBEA_TRY | |
| TBEA_CATCH = _ida_tryblks.TBEA_CATCH | |
| TBEA_SEHTRY = _ida_tryblks.TBEA_SEHTRY | |
| TBEA_SEHLPAD = _ida_tryblks.TBEA_SEHLPAD | |
| TBEA_SEHFILT = _ida_tryblks.TBEA_SEHFILT | |
| TBEA_ANY = _ida_tryblks.TBEA_ANY | |
| TBEA_FALLTHRU = _ida_tryblks.TBEA_FALLTHRU | |
| "int" add_tryblk | ( | "tryblk_t" | tb | ) |
| tb | (C++: const tryblk_t &) try block to add. |
| "void" del_tryblks | ( | "range_t" | range | ) |
| range | (C++: const range_t &) the range to be cleared |
| "ea_t" find_syseh | ( | "ea_t" | ea | ) |
| ea | (C++: ea_t) search address |
| "size_t" get_tryblks | ( | "tryblks_t" | tbv, |
| "range_t" | range ) |
Try blocks are sorted by starting address and their nest levels calculated.
| tbv | (C++: tryblks_t *) output buffer; may be nullptr |
| range | (C++: const range_t &) address range to change |
| "bool" is_ea_tryblks | ( | "ea_t" | ea, |
| "uint32" | flags ) |
| ea | (C++: ea_t) address to check |
| flags | (C++: uint32) combination of flags for is_ea_tryblks() |
| TBEA_ANY = _ida_tryblks.TBEA_ANY |
| TBEA_CATCH = _ida_tryblks.TBEA_CATCH |
| TBEA_FALLTHRU = _ida_tryblks.TBEA_FALLTHRU |
| TBEA_SEHFILT = _ida_tryblks.TBEA_SEHFILT |
| TBEA_SEHLPAD = _ida_tryblks.TBEA_SEHLPAD |
| TBEA_SEHTRY = _ida_tryblks.TBEA_SEHTRY |
| TBEA_TRY = _ida_tryblks.TBEA_TRY |
| TBERR_EMPTY = _ida_tryblks.TBERR_EMPTY |
| TBERR_END = _ida_tryblks.TBERR_END |
| TBERR_INTERSECT = _ida_tryblks.TBERR_INTERSECT |
| TBERR_KIND = _ida_tryblks.TBERR_KIND |
| TBERR_NO_CATCHES = _ida_tryblks.TBERR_NO_CATCHES |
| TBERR_OK = _ida_tryblks.TBERR_OK |
| TBERR_ORDER = _ida_tryblks.TBERR_ORDER |
| TBERR_START = _ida_tryblks.TBERR_START |