The free Fiddler HTTP debugging proxy saved Martin's hide, yet again. I mentioned Fiddler quite a while ago — in April 2007. At the time, I talked about how it works as an HTTP debugging proxy and how you can use it to speed up your Web sites.Last week, Fiddler saved my worthless hide. I was trying to debug a problem with an AJAX application that was sending HTML forms to a Web server for saving in a database. (Don’t ask me why it wasn’t using JSON. An old code base is a terrible burden.)One of the forms didn’t seem to be updating in the database. Debugging the JavaScript code on the client showed me that it was being sent just fine. I wrote the server code that was processing the form about eight years ago, before AJAX had been invented. At the time, I had put all sorts of debugging output into the page that would fire and send an e-mail to a list if there was a problem. None of that was being triggered. I was tearing my hair. I invoked the “20-minute rule” after a couple of hours of this nonsense, and asked for help.A colleague suggested looking at the data stream with Wireshark or Fiddler. D’oh!Fiddler is a little easier to use than Wireshark for this kind of problem, so I updated my copy of Fiddler, fired it up, and ran the AJAX application. When I looked at the response from the server page, sure enough there was the debugging output and the Error 500 response header, which the AJAX code was blithely ignoring. I fixed the server code problem and reran the application. I looked at the AJAX request and the response from the corrected server page with Fiddler. This time, I could look at the form object, formatted cleanly, and see what was getting sent across to be processed. The HTTP response was a simple OK. The database was showing the correct information, and all was well.Eric Lawrence of Microsoft is the author and maintainer of Fiddler, which is free software, not a Microsoft product.Thank you, Eric! Software Development