First, some background. The way we start ASP.NET debugging is to send a special request to ASP.NET over HTTP/HTTPS. The verb for this request is 'DEBUG'. If everything goes as planned, this allows VS to know what process to attach to.
Displaying error messages for this is really hard. We aren’t a web browser, so we can't show you the HTML that the server might send back. We use WinInet, which is great for IE, but it has proved to be a huge pain for us. In Whidbey, we switched to the System.NET APIs instead.
Anyway, so the debugger will return 'You do not have permissions to debug the server' if we get an HTTP status code of 401 (Unauthorized).
The first problem with this error is that HTTP 401 has nothing to do with permissions, so the text is never right. What we should have said was -- NTLM authentication isn't working. Check IIS and IE settings, because it is probably disabled.
Some of the possible causes:
Hope this helps.