I was surprised, when I did a presentation on Charles (among other things) at the Cleveland Flex Users Group (CLEFUG), that more people didn't know about it. So I figure there are more people out there who don't know about this amazing tool.
Charles basically allows you to see the HTTP requests made on your machine. You can inspect what was sent and the response. The great thing about it is that it knows about AMF. So if you're using RemoteObjects or AMF Polling based DataServices you can inspect the AMF stream in a human readable format, like so:

Here you can see that a getProjectUser method was called on a remote object along with the parameters it was passed and the resulting ProjectUserVO object. You can see all the attributes of that object that were serialized.

Here you can see that a getProjectUser method was called on a remote object along with the parameters it was passed and the resulting ProjectUserVO object. You can see all the attributes of that object that were serialized.
As I already mentioned, Charles can also show you the result of DataService fill requests, as long as they use AMF Polling and not RTMP. RTMP is not an HTTP based protocol, so Charles can't show you it. However, with DataService requests, you have to do a bit more digging since DataServices use a message-based format. Here's an example of what this looks like in Charles.

Once you find the polling request that has your data, you can see that the result is actually a SequencedMessage. The data for the request in the body property of that message. In this case, it contains StandardDocumentGroupVOs.
So, if you find yourself wanting to know what's going on in the AMF communication between your app and the middle tier, Charles is an excellent tool to use to find out. Of course, Charles would also show you your WebService and HTTPService communication since they are HTTP based. You can get Charles from it's website http://www.charlesproxy.com and it costs $50 for a single user license, but you can try it out for free.