Is it possible to remove a break point set with ipdb.set_trace()?

Well, you CAN take advantage of the fact that anything in Python is an object. While in the debugger, you can do something like this:

def f(): pass
ipdb.set_trace = f

set_trace will still be called, but it won’t do anything.
Of course, it’s somewhat permanent, but you can just do

reload ipdb

and you’ll get the original behaviour back.

(why would you do this? when you accidentally put a breakpoint in an often-called function that is usually called under a try/except. Once you realize you’re stopping 1000 times in this function, you try to ctrl-c, but that gets caught by the try/except and you’re back in ipdb again. So, if you’re in low-level code, make sure your set_traces have some context:

if myvar in ['some', 'sentinel', 'values']:
    ipdb.set_trace()

etc.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)