Python Debugging
Problem
- The complex options to create macros and value ranges give rise to manifold error sources. Resulting errors can only be identified by mere thinking through or by means of dialog messages.
Objectives
- A debugger allows the error seeker to go through the program code line by line during execution or to stop at a particular position to check the values which have just been set and find errors in program operation.
Debugging with rpdb2 / Winpdb
Information
- You can debug the Python interpreter within PLANTA and outside the application server using the
rpdb2
library. - Here Winpdb Python Platform Independent Python Debugger provides a simple GUI application to connect with the debugger
Start the Debugger
Information
- The debugger can be used in any Python program, hence in
- Python value ranges,
- Python macros, and
- in external Python scripts.
- To do so, you can rely on the Debugger API or you can start the debugger via the Tools -> Python -> Start Winpdb debugger menu item.
from ppms.debugging import start_embedded_debugger
def function_to_debug():
# ...
start_embedded_debugger(password='foobar')
# ...
Graphical Debugging with Winpdb
Information
- Winpdb is suitable for debugging PLANTA
- If you have started the debugger as described above, you have to connect to Winpdb:
- Select the Attach option in the File menu
- Enter the current password
- Specify the address of the computer on which the script is running
- Select and connect debugger instance
- Now a surface is displayed in the right window displaying the source text at which the interruption took place.
- You can navigate through the program using function keys. For more information on this, see the Controls menu entry.
- Break points can be set via function key F9.
- Via File -> Open source, the path to a Python file in the Server directory can be specified in order to set break points within it
Tip:
- In order to prevent the repetitive reloading of the GUI, the Python Service Functions in
planta_server.conf
must be deactivated by settingENABLE_PY_SERVICE_FUNCTIONS
to 0
Debugging with PyCharm
Information
- "PyCharm Professional" contains a remote debugger which can be used to debug PLANTA as well
Start the Debugger
Information
- First the remote debugging must be set up and restarted in PyCharm
- Afterwards you can connect to the debugger via the Tools -> Python -> Connect with PyCharm Debugger menu item in PLANTA