(self, concrete_states)
:param concrete_states:
        :return:
def register_callbacks(self, concrete_states):
        """

        :param concrete_states:
        :return:
        """

        for concrete_state in concrete_states:
            # clear existing breakpoints
            # TODO: all breakpoints are removed. Fix this later by only removing breakpoints that we added
            for bp_type in ('reg_read', 'reg_write', 'mem_read', 'mem_write', 'instruction'):
                concrete_state.inspect._breakpoints[bp_type] = [ ]

            concrete_state.inspect.add_breakpoint('reg_read', BP(when=BP_AFTER, enabled=True,
                                                                 action=self._hook_register_read
                                                                 )
                                                  )
            concrete_state.inspect.add_breakpoint('reg_write', BP(enabled=True, action=self._hook_register_write))
            concrete_state.inspect.add_breakpoint('mem_read', BP(when=BP_AFTER, enabled=True,
                                                                 action=self._hook_memory_read
                                                                 )
                                                  )
            concrete_state.inspect.add_breakpoint('mem_write', BP(enabled=True, action=self._hook_memory_write))
def register_callbacks ( self , concrete_states ) : for concrete_state in concrete_states : # clear existing breakpoints # TODO: all breakpoints are removed. Fix this later by only removing breakpoints that we added for bp_type in ( 'reg_read' , 'reg_write' , 'mem_read' , 'mem_write' , 'instruction' ) : concrete_state . inspect . _breakpoints [ bp_type ] = [ ] concrete_state . inspect . add_breakpoint ( 'reg_read' , BP ( when = BP_AFTER , enabled = True , action = self . _hook_register_read ) ) concrete_state . inspect . add_breakpoint ( 'reg_write' , BP ( enabled = True , action = self . _hook_register_write ) ) concrete_state . inspect . add_breakpoint ( 'mem_read' , BP ( when = BP_AFTER , enabled = True , action = self . _hook_memory_read ) ) concrete_state . inspect . add_breakpoint ( 'mem_write' , BP ( enabled = True , action = self . _hook_memory_write ) )