C.2. Debugging Procedure

How should you proceed when a program does not work as expected? After you notice that something is wrong, you have at least some information, namely, at which point the program does not work as expected. You should restart the program and repeat the steps that led to the problem to make sure that you have correctly recognized the context in which the bug occurs. You can repeat this many times if you like, maybe with slightly varying input to collect more information on the nature of the problem.

You should be able to locate the function which does not work correctly. Add some print statements in the code and try to find out what the erroneous values look like. Sometimes, examining the values is enough to reveal the actual cause. If you are debugging an application with a user interface, it might be easier to show the values in a pop-up dialog instead of using print statements and the console.

Once you have spotted the erroneous values, you should start backtracking to find out how they are produced in the first place. Usually, you do this by adding print statements along the program's path of execution, that is you add them to functions which were called before the function that manifests the problem.

Print out all intermediate values to check whether they match your assumptions as to what they should be. Once you have found the function which gets correct input but produces incorrect output, you are closer to identifying the actual cause of the problem. ...

Get Mobile Python: Rapid Prototyping of Applications on the Mobile Platform now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.