If you try adding a breakpoint and this operation fails (because there is already a breakpoint at that address), the debugger will step to the next instruction, which seems to be unintended behaviour. The same happens for trying to clear a breakpoint at an address where there is no breakpoint. This happens because these two commands return None in case of failure, which interferes with the loop from interact() in vm_extend.py (the variable interacting becomes None, breaking the loop and allowing the VM to step to the next instruction).
If you try adding a breakpoint and this operation fails (because there is already a breakpoint at that address), the debugger will step to the next instruction, which seems to be unintended behaviour. The same happens for trying to clear a breakpoint at an address where there is no breakpoint. This happens because these two commands return None in case of failure, which interferes with the loop from
interact()
invm_extend.py
(the variableinteracting
becomes None, breaking the loop and allowing the VM to step to the next instruction).