I use a lot of Microchip PIC12F508's, but debugging them is a challenge as the inexpensive debugging tools (eg. ICD2) don't support the '508. This is probably due to pin count - the '508 has only 6 I/O pins, and the ICD requires 3, pretty much using up the entire IO port. And the cheapest ICE that supports the 508 - the MPLAB ICE 2000 - costs $1500+.... WAY too expensive for me.

So I created my own cheapo "ICE" of sorts: I made a simple PCB for a PIC18F1320 (which has C18 and ICD2 support) then made a DIP8 board that maps to the '508. I then connected the 1320's RB0-RB6 to the 508's GP0-5 (plus +5v and GND) via a short (3") ribbon cable.
This allows me to develop code in the pretty-decent C18 environment, debug it in the 1320 on the ICD2, then port the C code to PICC LITE (which supports the 12F508). A bit convoluted, but for me it's better than paying that $1500!

Here's the rig:
The mainboard with the PIC18F1320 and ICD header is at left, the DIP8 plug at right.
I have a 4MHz oscillator on the mainboard because I always use the '508's internal 4MHz oscillator.


Another view:



Here's the "ICE" in action:
The small PCB in the middle (with the gray RJ11 jacks) is the target PCB that hosts the '508.