BSNES is the best emulator around, there's little to say about that. Unfortunately the debugger is no more available in current higan because of refactoring and othe changes the author is making.
Let's get the last working bsnes debugger, laevateinn, compiling & working (
spoiler: it.does.not.work) on Linux:
git clone git://gitorious.org/bsnes/bsnes.git
cd bsnes
git checkout v089
cd bsnes
nano nall/Makefile # replace "gcc-4.7" with "gcc"
make -j3 target=laevateinn
Finally the debugger will be found in
out/laevateinn, but we are not yet there! It can only work with "cartridge folders".
So let's compile purify as well, and run it:
cd ..
cd purify
nano nall/Makefile # here replace "gcc-4.6" with "gcc"
make -j3
./purify output your-rom-path/ target-directory/
Now we are ready to run laevateinn:
cd ..
bsnes/out/laevateinn target-directory/
However, I could not use it because it shows me a non-sexy black screen :(
Possibly you might pick up the task from there.
Meanwhile I am using
T.Geiger's snes9x debugger and I have contacted the author about sharing the sources (fingers crossed!)
Update 23 July 2013: instructions for Ubuntu 13.04 provided by user
Jay Oster
NOTE: bsnes looks for its system ROMs in ~/.config/laevateinn/
Dependencies
$ sudo apt-get update
$ sudo apt-get install git build-essential libgtk2.0-dev libasound2-dev
# FOR PURIFY
$ sudo apt-get install libx11-dev
Build Laevateinn
$ git clone git://gitorious.org/bsnes/bsnes.git
$ cd bsnes
$ git checkout d418eda9
$ vim bsnes/nall/Makefile # replace "gcc-4.7" with "gcc"
$ make -C bsnes -j 8 target=laevateinn install
Build Purify
$ vim purify/nall/Makefile # replace "gcc-4.6" with "gcc"
$ vim purify/Makefile # add "link += `pkg-config --libs x11`"
$ make -C purify -j 8
PUTRIFY your ROM library
$ ./purify/purify output your-rom-path/ target-directory/