Asked By – Rex
As I know,
%debug magic can do debug within one cell.
However, I have function calls across multiple cells.
In: def fun1(a) def fun2(b) # I want to set a breakpoint for the following line # return do_some_thing_about(b) return fun2(a) In: import multiprocessing as mp pool=mp.Pool(processes=2) results=pool.map(fun1, 1.0) pool.close() pool.join
What I tried:
I tried to set
%debugin the first line of cell-1. But it enter into debug mode immediately, even before executing cell-2.
I tried to add
%debugin the line right before the code
return do_some_thing_about(b). But then the code runs forever, never stops.
What is the right way to set a break point within the ipython notebook?
Now we will see solution for issue: What is the right way to debug in iPython notebook?
Install it via
pip install ipdb
In: def fun1(a): def fun2(a): import ipdb; ipdb.set_trace() # debugging starts here return do_some_thing_about(b) return fun2(a) In: fun1(1)
For executing line by line use n and for step into a function use s and to exit from debugging prompt use c.
For complete list of available commands: https://appletree.or.kr/quick_reference_cards/Python/Python%20Debugger%20Cheatsheet.pdf
This question is answered By – Tevin Joseph K O
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0