Setting up a debugging environment
Software development is a complex task and there's no software without bugs. Debugging is the process to remove software failures. Debugging is a task that can involve some other software to facilitate the debugging process.
A plugin can become complex, requiring debugging tools to discover problems. The complexity of the debugging process can start by inserting some prints inside the code or adding log messages to finish controlling the execution instructions by instructing how to find execution problems.
Inserting a breakpoint to stop the execution at a certain point in the code of a third-party QGIS plugin can be useful to discover how it works.
What is a debugger?
There is a set of possible tools to debug the Python code, but we'll focus only on PyDev, which reduces the number of installation steps and allows remote debugging without modification of the plugin code.
PyDev is an Eclipse plugin, where Eclipse is a free software programmable framework used...