Most people don't realize it, but debugging over USB 2.0 has been supported for a while. When you read the details, however, you might have second thoughts as to whether you think it's worth the bother.
Support for debugging a target system via USB 2.0 is natively in Vista.
To make USB-based debugging work, you need a special cable that's referred to as a "USB debugger cable" -- The only one that folks here at OSR have seen is the PLX Net20DC. You can google for the part number, but somebody here found them for sale at www.semiconductorstore.com (search for Net20DC in the store, click "order online" to see the price) for $80 each (YIKES!).
One of the posters on the NTDEV list found the cable described here:
http://www.plxtech.com/products/NET2000/NET20DC/default.asp
Enable USB debugging on the target with the following BCDEdit commands:
bcdedit -debug on
bcdedit -dbgsettings usb targetname:<any-name>
You must plug the USB debugger cable into PORT 1 of the root hub on the target machine. Which USB port on your target machine is port 1 of the root hub? You mean you don't know?? Well, you might want to use the USBVIEW utility from the DDK to help you figure out which port is port 1.
On the host machine, you start by plugging BOTH ends of the cable into USB 2.0 ports on the host machine to get the driver loaded. Then unplug one end and plug it into Port 1 of the root hub on the target (as mentioned above).