{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook was prepared by [Donne Martin](http://donnemartin.com). Source and license info is on [GitHub](https://github.com/donnemartin/data-science-ipython-notebooks)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# PDB\n", "\n", "The pdb module defines an interactive source code debugger for Python programs. Below are frequently used commands:" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Run pdb when this line is hit\n", "import pdb; pdb.set_trace()\n", "\n", "# Run pdb when the script is run\n", "python -m pdb script.py\n", "\n", "# Help\n", "h[elp]\n", "\n", "# Show current content\n", "l[ist]\n", "\n", "# Examine variables\n", "p[rint]\n", "\n", "# Pretty print\n", "pp\n", "\n", "# Go to next line\n", "n[ext]\n", "\n", "# Step into\n", "s[tep]\n", "\n", "# Continue execution until the line with the line number greater \n", "# than the current one is reached or when returning from current frame.\n", "until\n", "\n", "# Return\n", "r[eturn]\n", "\n", "# See all breakpoints\n", "b to see all breakpoints\n", "\n", "# Set breakpoint at line 16\n", "b 16 \n", "\n", "# Clear breakpoint 1\n", "cl[ear] 1\n", "\n", "# Continue\n", "c[ontinue]\n", "\n", "# Conditional breakpoints, line 11\n", "b 11, this_year == 2015\n", "\n", "# Stack location\n", "w[here]\n", "\n", "# Go up in stack\n", "u[p]\n", "\n", "# Go down in stack\n", "d[own]\n", "\n", "# Longlist shows full method of where you're in (Python 3)\n", "ll\n", "\n", "# Quit\n", "q[uit]" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }