- Python's standard debugger is called PDB.
- PDB is a standard command-line debugger.
- The pdb.set_trace() method can be used to stop program execution
and enter the debugger. - Your REPL's prompt will change to (Pdb) when you're in the debugger.
- You can access PDB's built-in help system by typing help.
- You can use python -m pdb followed by a script name to run a program under PDB from the start.
- PDB's where command shows the current call stack.
- PDB's next command lets execution continue to the next line of code.
- PDB's continue command lets program execution continue indefinitely, or until you stop it with Ctrl+C.
- PDB's list command shows you the source code at your current location.
- PDB's return command resumes execution until the end of the current function.
- PDB's print command lets you see the values of objects in the debugger.
- Use the quit command to exit PDB.
Along the way we found that:
- The divmod() function calculates the quotient and remainder for a division
operation at one time. - The reversed() function can reverse a sequence.
- You can pass -m to your Python command to have it run a module as a script.
- Debugging makes it clear that Python is evaluating everything at run time.
Notice that we can use print with or without parentheses. Don't be alarmsed – we haven't regressed to Python 2. In this context print is a PDB command rather than a Python 3 function.