Debugging Hedge

As you might want to look over the shoulder of hedge while it is working in order to understand better what it does you can choose between two different debuggers:

pudb

PuDB is a terminal window based python debugger. You don't need to click windows any more.

Install

Download the latest version of PuDB and unzip it by

tar xvfz pudb-0.90.4.tar.gz 

and install it by

sudo python setup.py install

or

sudo easy_install pudb

Getting Started

To start debugging, simply insert:

python -m pudb.run yourfile.py

into the piece of code you want to debug, or run the entire script with:

from pudb import set_trace; set_trace()

There's also a screencast to get you started.

WinPdb

The easiest way is to install the newest version from the source package on the Winpdb homepage on your local computer. Actually the aptitude packages you can get throughout the linux package repository might not be the newest version which will cause trouble when working on the hpcgeek cluster.

Getting Started

To receive debug informations from a certain point of your code you have to add the following line to your example

import rpdb2; rpdb2.start_embedded_debugger_interactive_password()

and start the computation as usual. When being asked for the password type an easy-to-remember password and start Winpdb. Attach the debugger (File => Attach). Retype the password and ignore the warning. By using F7 you can step forward in the code.

Debugging Hedge running on hpcgeek

To debug hedge running on the hpcgeek cluster you have to use a ssh tunnel. Therefore you can either modify your .ssh/config in the following way. Example:

Host hpcgeek*
  User example_user
  ProxyCommand ssh ccv nc hpcgeek 22
  LocalForward 51000 localhost:51000

The other option is to build the ssh tunnel whenever you need it. Therefore type the following commands in your bash shell after logging in on hpcgeek:

 cat ~C
-L51000:localhost:51000
[ctrl]-[c]