angr/exploration_techniques/director.py
def check(self, cfg, state, peek_blocks):
        """
        Check if the specified address will be executed

        :param cfg:
        :param state:
        :param int peek_blocks:
        :return:
        :rtype: bool
        """

        # Get the current CFGNode from the CFG
        node = self._get_cfg_node(cfg, state)

        if node is None:
            # Umm it doesn't exist on the control flow graph - why?
            l.error('Failed to find CFGNode for state %s on the control flow graph.', state)
            return False

        # crawl the graph to see if we can reach the target address next
        for src, dst in self._dfs_edges(cfg.graph, node, max_steps=peek_blocks):
            if src.addr == self.addr or dst.addr == self.addr:
                l.debug("State %s will reach %#x.", state, self.addr)
                return True

        l.debug('SimState %s will not reach %#x.', state, self.addr)
        return False

        Check if the specified address will be executed

        :param cfg:
        :param state:
        :param int peek_blocks:
        :return:
        :rtype: bool
        
Check if the specified address will be executed
Check if the specified address will be executed
def check(self, cfg, state, peek_blocks):
        node = self._get_cfg_node(cfg, state)
        if node is None:
            l.error('Failed to find CFGNode for state %s on the control flow graph.', state)
            return False
        for src, dst in self._dfs_edges(cfg.graph, node, max_steps=peek_blocks):
            if src.addr == self.addr or dst.addr == self.addr:
                l.debug("State %s will reach %#x.", state, self.addr)
                return True
        l.debug('SimState %s will not reach %#x.', state, self.addr)
        return False
def check ( self , cfg , state , peek_blocks ) : node = self . _get_cfg_node ( cfg , state ) if node is None : l . error ( 'Failed to find CFGNode for state %s on the control flow graph.' , state ) return False for src , dst in self . _dfs_edges ( cfg . graph , node , max_steps = peek_blocks ) : if src . addr == self . addr or dst . addr == self . addr : l . debug ( "State %s will reach %#x." , state , self . addr ) return True l . debug ( 'SimState %s will not reach %#x.' , state , self . addr ) return False
Check if the specified address will be executed
Check if the specified address will be executed
"""
        Check if the specified address will be executed

        :param cfg:
        :param state:
        :param int peek_blocks:
        :return:
        :rtype: bool
        """ # Get the current CFGNode from the CFG # Umm it doesn't exist on the control flow graph - why? # crawl the graph to see if we can reach the target address next
None
bool
self
cfg
None
state
None
peek_blocks
None