51. Python's pdb Debugger

1. Basic Usage of pdb.set_trace()

Inserting a breakpoint in the code to start the debugger.

Copy

import pdb

def calculate_sum(a, b):
    result = a + b
    pdb.set_trace()  # Start debugger here
    return result

print(calculate_sum(3, 4))

When pdb.set_trace() is hit, the debugger will pause execution, and you can inspect variables and step through the code.


2. Navigating Code with Commands in pdb

Using n (next), s (step), and c (continue) to control the execution flow.

Copy

import pdb

def calculate_sum(a, b):
    result = a + b
    pdb.set_trace()  # Start debugger
    print(f"Result: {result}")
    return result

calculate_sum(3, 4)

When the debugger is triggered, use:

  • n: Move to the next line.

  • s: Step into functions.

  • c: Continue execution.


3. Inspecting Variable Values in Debugger

Inspecting variables using pdb commands.

Copy

When the debugger stops, use p name to inspect the value of the variable name.


4. Setting Breakpoints with pdb.set_trace()

Setting multiple breakpoints in a function.

Copy

You can add multiple breakpoints, and at each one, you can examine the execution flow and variable values.


5. Using pdb for Conditional Breakpoints

Setting a breakpoint that only activates under a condition.

Copy

The debugger will only be triggered if result equals 10.


6. Listing the Source Code with l (list)

Using the l command to list the current source code around the breakpoint.

Copy

When the debugger stops, you can use l to list the current source code around the breakpoint.


7. Exiting the Debugger with q (quit)

Exiting the debugger session using the q command.

Copy

In the debugger, type q to quit the debugger and stop the execution.


8. Using pdb with Exception Handling

Debugging inside a try-except block.

Copy

The debugger will trigger before the exception handling takes place, allowing you to inspect the exception context.


9. Running the Python Script with Debugger from Command Line

Using the -m pdb command to run the script in debugging mode.

Copy

This will start the Python script inside the pdb debugger. You can set breakpoints, step through, and inspect variables interactively.


10. Tracing Function Calls with pdb

Using pdb to trace the function calls.

Copy

Here, you can trace the execution, going through both the add and multiply function calls, inspecting variables as needed.


These snippets demonstrate different ways to use the pdb debugger for step-by-step code analysis, inspecting variables, and controlling the execution flow. You can use these techniques to troubleshoot, understand the code better, and refine your program.

Last updated