def _clear_breakpoint(self, filename, line_no = None):
        try:
            current_breakpoints = self._breakpoints[filename]
        except:
            return
        if line_no is None:
    	    lines = current_breakpoints.keys()
        else:
            lines = [line_no]
        for line in lines:
            line_addrs = current_breakpoints[line]
            for addr in line_addrs:
                self.__insn_repl(addr, self._bp_replaced_insn[addr])
                del self._bp_replaced_insn[addr]
                print "breakpoint cleared at \"%s+%d\" (%x)" % (filename, line, addr)
            del self._breakpoints[filename][line]