### Navigation

- index
- modules |
- next |
- previous |
- Python »
- 3.3.1 Documentation »
- The Python Standard Library »

# 27. Debugging and Profiling

These libraries help you with Python development: the debugger enables you to step through code, analyze stack frames and set breakpoints etc., and the profilers run code and give you a detailed breakdown of execution times, allowing you to identify bottlenecks in your programs.

- 27.1. `bdb` — Debugger framework
- 27.2. `faulthandler` — Dump the Python traceback
  - 27.2.1. Dump the traceback
  - 27.2.2. Fault handler state
  - 27.2.3. Dump the tracebacks after a timeout
  - 27.2.4. Dump the traceback on a user signal
  - 27.2.5. File descriptor issue
  - 27.2.6. Example
- 27.3. `pdb` — The Python Debugger
  - 27.3.1. Debugger Commands
- 27.4. The Python Profilers
  - 27.4.1. Introduction to the profilers
  - 27.4.2. Instant User’s Manual
  - 27.4.3. What Is Deterministic Profiling?
  - 27.4.4. Reference Manual – `profile` and `cProfile`
    - 27.4.4.1. The `Stats` Class
  - 27.4.5. Limitations
  - 27.4.6. Calibration
  - 27.4.7. Extensions — Deriving Better Profilers
- 27.5. `timeit` — Measure execution time of small code snippets
  - 27.5.1. Basic Examples
  - 27.5.2. Python Interface
  - 27.5.3. Command-Line Interface
  - 27.5.4. Examples
- 27.6. `trace` — Trace or track Python statement execution
  - 27.6.1. Command-Line Usage
    - 27.6.1.1. Main options
    - 27.6.1.2. Modifiers
    - 27.6.1.3. Filters
  - 27.6.2. Programmatic Interface

### Navigation

- index
- modules |
- next |
- previous |
- Python »
- 3.3.1 Documentation »
- The Python Standard Library »