You can use the call manager emulator that comes with the SDK (under tools folder). I've been using this for development with the Cisco IP Communicator softphone and it's working quite well. It's just a small app that emulates the functions for sending the TFTP file to the phone with the services URL information included. I've got it running on a VMWare session along with my web server.
The probably better solution would be running a CCM on VMWare. That way you get the real deal all the way - if you are working in an application shop, I'm sure you'll want to verify everything in a real environment before going out with an app. Having an actual ccm will also enable you to develop AXL and (J)TAPI applications.. you can't do those things without an actual CCM around.
You don't get the service page (you can set it to any page on any machine though that would serve as the entry page), you don't get the ?DEVICE=#DEVICENAME# functionality, and you don't get any service parameters when using the simulator.. other than that, there are no limits I can recall.
You should be able to set the service url directly in the simulator.. but that's just one page.. the callmanager offers a whole framework where admins can define services and users can subscribe to those services (and even put services on line keys on the phone).
These are the paths to get to each CCX logs through CLI. They may be helpful if you are having issues accessing RTMT or downloading logs through it.
If you want to download them you have to prefix "file get " and you can add one of the options (re...