How to debug a python program:
It is important to get know the debugging method ,if we really started to learn a new programming language:
In Python programming language we have a tool similar to gdb which is pdb.
You can start debugging as below :
python -pdb -m selectsort.py
more details on pdb -
https://docs.python.org/2/library/pdb.html
http://infohost.nmt.edu/tcc/help/pubs/python22/pdb-commands.html
- s(tep)
- Execute the current line, stop at the first possible occasion (either in a
function that is called or on the next line in the current function).
- n(ext)
- Continue execution until the next line in the current function is reached or it
returns. (The difference between
next
and step
is that step
stops
inside a called function, while next
executes called functions at (nearly)
full speed, only stopping at the next line in the current function.)
- unt(il)
Continue execution until the line with the line number greater than the
current one is reached or when returning from current frame.
New in version 2.6.
- r(eturn)
- Continue execution until the current function returns.
- c(ont(inue))
- Continue execution, only stop when a breakpoint is encountered.
- j(ump) lineno
Set the next line that will be executed. Only available in the bottom-most
frame. This lets you jump back and execute code again, or jump forward to skip
code that you don’t want to run.
It should be noted that not all jumps are allowed — for instance it is not
possible to jump into the middle of a
for
loop or out of a
finally
clause.
- l(ist) [first[, last]]
- List source code for the current file. Without arguments, list 11 lines around
the current line or continue the previous listing. With one argument, list 11
lines around at that line. With two arguments, list the given range; if the
second argument is less than the first, it is interpreted as a count.
- a(rgs)
- Print the argument list of the current function.
- p expression
Evaluate the expression in the current context and print its value.