(self, job, successors)
Print out debugging information after handling a VFGJob and generating the succeeding jobs.

        :param VFGJob job: The VFGJob instance.
        :param list successors: A list of succeeding states.
        :return: None
Print out debugging information after handling a VFGJob and generating the succeeding jobs.
Print out debugging information after handling a VFGJob and generating the succeeding jobs .
def _post_job_handling_debug(self, job, successors):
        """
        Print out debugging information after handling a VFGJob and generating the succeeding jobs.

        :param VFGJob job: The VFGJob instance.
        :param list successors: A list of succeeding states.
        :return: None
        """

        func = self.project.loader.find_symbol(job.addr)
        function_name = func.name if func is not None else None
        module_name = self.project.loader.find_object_containing(job.addr).provides

        l.debug("VFGJob @ %#08x with callstack [ %s ]", job.addr,
                job.callstack_repr(self.kb),
                )
        l.debug("(Function %s of %s)", function_name, module_name)
        l.debug("-  is call jump: %s", job.is_call_jump)
        for suc in successors:
            if suc not in job.dbg_exit_status:
                l.warning("- %s is not found. FIND OUT WHY.", suc)
                continue

            try:
                l.debug("-  successor: %#08x of %s [%s]", suc.solver.eval_one(suc.ip),
                        suc.history.jumpkind, job.dbg_exit_status[suc])
            except SimValueError:
                l.debug("-  target cannot be concretized. %s [%s]", job.dbg_exit_status[suc], suc.history.jumpkind)
        l.debug("Remaining/pending jobs: %d/%d", len(self._job_info_queue), len(self._pending_returns))
        l.debug("Remaining jobs: %s", [ "%s %d" % (ent.job, id(ent.job)) for ent in self._job_info_queue])
        l.debug("Task stack: %s", self._task_stack)
def _post_job_handling_debug ( self , job , successors ) : func = self . project . loader . find_symbol ( job . addr ) function_name = func . name if func is not None else None module_name = self . project . loader . find_object_containing ( job . addr ) . provides l . debug ( "VFGJob @ %#08x with callstack [ %s ]" , job . addr , job . callstack_repr ( self . kb ) , ) l . debug ( "(Function %s of %s)" , function_name , module_name ) l . debug ( "-  is call jump: %s" , job . is_call_jump ) for suc in successors : if suc not in job . dbg_exit_status : l . warning ( "- %s is not found. FIND OUT WHY." , suc ) continue try : l . debug ( "-  successor: %#08x of %s [%s]" , suc . solver . eval_one ( suc . ip ) , suc . history . jumpkind , job . dbg_exit_status [ suc ] ) except SimValueError : l . debug ( "-  target cannot be concretized. %s [%s]" , job . dbg_exit_status [ suc ] , suc . history . jumpkind ) l . debug ( "Remaining/pending jobs: %d/%d" , len ( self . _job_info_queue ) , len ( self . _pending_returns ) ) l . debug ( "Remaining jobs: %s" , [ "%s %d" % ( ent . job , id ( ent . job ) ) for ent in self . _job_info_queue ] ) l . debug ( "Task stack: %s" , self . _task_stack )