def METHOD_NAME(self):
    """
        Debugs the step
    """
    if not self.runable:
        self.state = Step.State.UNTESTED
        return self.state
    self._validate()
    args, kwargs = self.argument_match.evaluate()
    pdb = utils.get_debugger()
    try:
        pdb.runcall(self.definition_func, self, *args, **kwargs)
    except Exception as e:  # pylint: disable=broad-except
        self.state = Step.State.FAILED
        self.failure = utils.Failure(e)
    else:
        if self.state is Step.State.SKIPPED:
            self.skip()
        elif self.state is not Step.State.PENDING:
            self.state = Step.State.PASSED
    return self.state