IDAPython 9.0
Loading...
Searching...
No Matches
ida_problems Namespace Reference

Detailed Description

Functions that deal with the list of 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). 

Functions

str get_problem_desc ('problist_id_t' t, ida_idaapi.ea_t ea)
 
None remember_problem ('problist_id_t' type, ida_idaapi.ea_t ea, str msg=None)
 
ida_idaapi.ea_t get_problem ('problist_id_t' type, ida_idaapi.ea_t lowea)
 
bool forget_problem ('problist_id_t' type, ida_idaapi.ea_t ea)
 
str get_problem_name ('problist_id_t' type, bool longname=True)
 
bool is_problem_present ('problist_id_t' t, ida_idaapi.ea_t ea)
 
bool was_ida_decision (ida_idaapi.ea_t ea)
 

Variables

 cvar = _ida_problems.cvar
 
 PR_NOBASE = cvar.PR_NOBASE
 
 PR_NONAME = cvar.PR_NONAME
 
 PR_NOFOP = cvar.PR_NOFOP
 
 PR_NOCMT = cvar.PR_NOCMT
 
 PR_NOXREFS = cvar.PR_NOXREFS
 
 PR_JUMP = cvar.PR_JUMP
 
 PR_DISASM = cvar.PR_DISASM
 
 PR_HEAD = cvar.PR_HEAD
 
 PR_ILLADDR = cvar.PR_ILLADDR
 
 PR_MANYLINES = cvar.PR_MANYLINES
 
 PR_BADSTACK = cvar.PR_BADSTACK
 
 PR_ATTN = cvar.PR_ATTN
 
 PR_FINAL = cvar.PR_FINAL
 
 PR_ROLLED = cvar.PR_ROLLED
 
 PR_COLLISION = cvar.PR_COLLISION
 
 PR_DECIMP = cvar.PR_DECIMP
 
 PR_END = cvar.PR_END
 

Function Documentation

◆ forget_problem()

bool forget_problem ( 'problist_id_t' type,
ida_idaapi.ea_t ea )
Remove an address from a problem list 
    
@param type: problem list type
@param ea: linear address
@returns success

◆ get_problem()

ida_idaapi.ea_t get_problem ( 'problist_id_t' type,
ida_idaapi.ea_t lowea )
Get an address from the specified problem list. The address is not removed from the list. 
    
@param type: problem list type
@param lowea: the returned address will be higher or equal than the specified address
@returns linear address or BADADDR

◆ get_problem_desc()

str get_problem_desc ( 'problist_id_t' t,
ida_idaapi.ea_t ea )
Get the human-friendly description of the problem, if one was provided to remember_problem. 
    
@param t: problem list type.
@param ea: linear address.
@returns the message length or -1 if none

◆ get_problem_name()

str get_problem_name ( 'problist_id_t' type,
bool longname = True )
Get problem list description.

◆ is_problem_present()

bool is_problem_present ( 'problist_id_t' t,
ida_idaapi.ea_t ea )
Check if the specified address is present in the problem list.

◆ remember_problem()

None remember_problem ( 'problist_id_t' type,
ida_idaapi.ea_t ea,
str 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. 
    
@param type: problem list type
@param ea: linear address
@param msg: 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()

bool was_ida_decision ( ida_idaapi.ea_t ea)

Variable Documentation

◆ cvar

cvar = _ida_problems.cvar

◆ PR_ATTN

PR_ATTN = cvar.PR_ATTN

◆ PR_BADSTACK

PR_BADSTACK = cvar.PR_BADSTACK

◆ PR_COLLISION

PR_COLLISION = cvar.PR_COLLISION

◆ PR_DECIMP

PR_DECIMP = cvar.PR_DECIMP

◆ PR_DISASM

PR_DISASM = cvar.PR_DISASM

◆ PR_END

PR_END = cvar.PR_END

◆ PR_FINAL

PR_FINAL = cvar.PR_FINAL

◆ PR_HEAD

PR_HEAD = cvar.PR_HEAD

◆ PR_ILLADDR

PR_ILLADDR = cvar.PR_ILLADDR

◆ PR_JUMP

PR_JUMP = cvar.PR_JUMP

◆ PR_MANYLINES

PR_MANYLINES = cvar.PR_MANYLINES

◆ PR_NOBASE

PR_NOBASE = cvar.PR_NOBASE

◆ PR_NOCMT

PR_NOCMT = cvar.PR_NOCMT

◆ PR_NOFOP

PR_NOFOP = cvar.PR_NOFOP

◆ PR_NONAME

PR_NONAME = cvar.PR_NONAME

◆ PR_NOXREFS

PR_NOXREFS = cvar.PR_NOXREFS

◆ PR_ROLLED

PR_ROLLED = cvar.PR_ROLLED