Debugging tools—using debuggers
Most programmers tend to think of debugging as something that they ought to do with a debugger. In this chapter, we have so far seen that more than an exact science, debugging is an art, which can be done using a lot of tricks and techniques rather than directly jumping to a debugger. However, sooner or later, we expected to encounter the debugger in this chapter—and here we are!
The Python Debugger, or pdb as it is known, is part of the Python runtime.
Pdb can be invoked when running a script from the beginning as follows:
$ python3 -m pdb script.py
However, the most common way in which programmers invoke pdb is to insert the following line at a place in the code where you want to enter the debugger:
import pdb; pdb.set_trace()
Let us use this, and try and debug an instance of the first example in this chapter, that is, the sum of the max subarray. We will debug the O(n)
version of the code as an example:
def max_subarray(sequence): """ Maximum subarray -...