One of the great features of IIS is Failed Request Tracing. It offers you an easy configurable way to log all kind of information related to one or more specific error codes. This gives you deep insight into the IIS pipeline and is one of my last resorts in case something is going wrong on the webserver.
The generated logs are large XML files that are hard to read and understand. Luckily in the same folder where your log files are generated(by default c:\inetpub\log\FailedReqLogFiles\W3SVC1) there should also be an XSLT file freb.xsl that transforms the XML into something that normal people could understand.
Tip: In case the freb.xsl is missing, delete the folder that contains the log files and IIS will generate the folder again including the missing freb.xsl when the next failed request is logged.