The previous two techniques will start the debugger at the beginning of a Python program. But this third technique is best for long-running processes. To start the debugger within a script, use set_trace().
Now, modify your pdb_example.py file as follows:
import pdb
class Student:
def __init__(self, std):
self.count = std
def print_std(self):
for i in range(self.count):
pdb.set_trace()
print(i)
return
if __name__ == '__main__':
Student(5).print_std()
Now, run the program as follows:
student@ubuntu:~$ python3 pdb_example.py
> /home/student/pdb_example.py(10)print_std()
-> print(i)
(Pdb) continue
0
> /home/student/pdb_example.py(9)print_std()
-> pdb.set_trace()
(Pdb)
set_trace() is a Python function, therefore you can call it at any point in your program.
So, these are the three ways by which you can start a debugger.