There are four basic functions of PyDebug, and four corresponding tabs laid out along the top of the screen:
- The "Project" page is a way for Activity bundles, groups of related files, to be loaded into the debugger, saved away to the journal, or other file system storage. It also provides access to examples, and templates, which can be used to learn about programming.
- The "Edit" screen provides opportunities to create programs, modify them, find and replace text, and explore the file system of the XO.
- The "Activity" tab is where the debugging with the IPython command line debugger occurs.
- The "Help" tab provides access to useful documentation, help files, and tutorials, when the internet is not currently available.
Features -- What Does Pydebug Do?
- Terminal console with IPython command-line debugger, and additional terminal consoles as desired.
- Multi-file text editor similar to the Gnome editor Gedit
- A project management page where the debugged program can be imported from or exported to the journal in the standard Sugar zipped XO format, and where copies of the installed activites can be made, inspected, modified, and debugged.
- Offline help which includes a collection of information about Sugar Activties, Python, Debugging strategies.
- Specific documentation about tips and techiques to get maximum benefit from PyDebug
- Breakpoint, single stepping, examination of variables and post mortem analysis after unhandled python exceptions -- all part of the ipython package.
- Automatic XO bundle, manifest generation, and
simplified svg icon generator for rapid Activity prototyping.
- Sandbox execution of debugged activity in a separate process.
- Synchronization of uncaught exceptions and errors with the integrated tabbed multi-file editor
- A simplified revision control system via dated snapshots of your activity to secure digital flash card or USB stick.
- A set of loadable, debugable example Activities and templates, which demonstrate how to use various features of the XO.