Module ida_problems

There are several problem lists. An address may be inserted to any list. The kernel simply maintains these lists, no additional processing is done.

The problem lists are accessible for the user from the View->Subviews->Problems menu item.

Addresses in the lists are kept sorted. In general IDA just maintains these lists without using them during analysis (except PR_ROLLED).

Global Variables

PR_ATTN

PR_ATTN = 12

PR_BADSTACK

PR_BADSTACK = 11

PR_COLLISION

PR_COLLISION = 15

PR_DECIMP

PR_DECIMP = 16

PR_DISASM

PR_DISASM = 7

PR_END

PR_END = 17

PR_FINAL

PR_FINAL = 13

PR_HEAD

PR_HEAD = 8

PR_ILLADDR

PR_ILLADDR = 9

PR_JUMP

PR_JUMP = 6

PR_MANYLINES

PR_MANYLINES = 10

PR_NOBASE

PR_NOBASE = 1

PR_NOCMT

PR_NOCMT = 4

PR_NOFOP

PR_NOFOP = 3

PR_NONAME

PR_NONAME = 2

PR_NOXREFS

PR_NOXREFS = 5

PR_ROLLED

PR_ROLLED = 14

Functions

forget_problem(type: problist_id_t, ea: ea_t) ‑> bool

forget_problem(type, ea) -> bool Remove an address from a problem list

type: (C++: problist_id_t) problem list type
ea: (C++: ea_t) linear address
return: success

get_problem(type: problist_id_t, lowea: ea_t) ‑> ea_t

get_problem(type, lowea) -> ea_t Get an address from the specified problem list. The address is not removed from the list.

type: (C++: problist_id_t) problem list type
lowea: (C++: ea_t) the returned address will be higher or equal than the specified
             address
return: linear address or BADADDR

get_problem_desc(t: problist_id_t, ea: ea_t) ‑> qstring *

get_problem_desc(t, ea) -> str Get the human-friendly description of the problem, if one was provided to remember_problem.

t: (C++: problist_id_t) problem list type.
ea: (C++: ea_t) linear address.
return: the message length or -1 if none

get_problem_name(type: problist_id_t, longname: bool = True) ‑> char const *

get_problem_name(type, longname=True) -> char const Get problem list description.

type: (C++: problist_id_t)
longname: (C++: bool)

is_problem_present(t: problist_id_t, ea: ea_t) ‑> bool

is_problem_present(t, ea) -> bool Check if the specified address is present in the problem list.

t: (C++: problist_id_t)
ea: (C++: ea_t)

remember_problem(type: problist_id_t, ea: ea_t, msg: char const * = None) ‑> void

remember_problem(type, ea, msg=None) Insert an address to a list of problems. Display a message saying about the problem (except of PR_ATTN,PR_FINAL) PR_JUMP is temporarily ignored.

type: (C++: problist_id_t) problem list type
ea: (C++: ea_t) linear address
msg: (C++: const char *) a user-friendly message to be displayed instead of the default more
           generic one associated with the type of problem. Defaults to
           nullptr.

was_ida_decision(ea: ea_t) ‑> bool

was_ida_decision(ea) -> bool

ea: ea_t

Last updated