Archive:Debug python scripts with WinPDB: Difference between revisions
Jump to navigation
Jump to search
>NedBot m (moved How-to:Debug python scripts with WinPDB to How-to-TEMP:Debug python scripts with WinPDB: Bot: Moved page) |
|
(No difference)
|
Revision as of 14:57, 3 October 2011
You can easily debug python scripts running inside XBMC in a few simple steps using WinPDB!
Requirements
- XBMC installed on Linux or Windows (should also work fine on Mac)
- Install WinPDB. Download the binary installer for Windows or Mac, use this command for Linux:
$ sudo apt-get install winpdb
- On Mac, Windows and some Linux distros you will also need to install wxPython. If you are using 32-bit python, use the 32-bit version. Always get the unicode version
Create a symlink for the debugger
How to make a symlink in Linux
- Assuming your script's name is Foo
$ cd /home/<user>/.xbmc/scripts/Foo $ ln -s `find /usr/lib/pymodules -name rpdb2.py`
How to make a symlink in Windows
- At Command Prompt type the equivalent of this, with your own paths:
For Windows 7
mklink "C:\Program Files (x86)\XBMC\addons\plugin.video.icefilms\rpdb2.py" "C:\Python27\Scripts\rpdb2.py"
For Windows XP, Vista
fsutil hardlink "C:\Program Files (x86)\XBMC\addons\plugin.video.icefilms\rpdb2.py" "C:\Python27\Scripts\rpdb2.py"
The first path makes the link in your addon folder, the second path tells the link to point to where the original rpdb2.py file can be found.
Modify your script to enable debugger
- Edit /home/<user>/.xbmc/scripts/Foo/default.py and add the following code to the top
import rpdb2 rpdb2.start_embedded_debugger('pw')
How to start WinPDB
- Linux: (Desktop Menu Bar -> Applications -> Programming -> Winpdb)
- Windows/Mac: Execute winpdb.py. For a quicker launch, make shortcut on desktop for (example location:)
C:\Python27\Scripts\winpdb.py
Start debugging session
- From within XBMC, start your script (it will appear to sit there and hang)
- Start WinPDB
- In WinPDB, select File->Password and enter "pw" (no quotes)
- Select File->Attach. You should see your running script in the list box along with its PID and filename.
- Select your script and click OK. The debugger is now attached to your script.
Setting breakpoints
TBD