A person emailed me requesting me to blog step by step instructions on how to get Asp .Net working on XP SP2, and to check the status for each step.
I thought this would be a lengthy blog, but on second thoughts realize there isn't anything very deep about Asp .Net debugging.
With SP2, you can run into two sets of problems with Asp .Net debugging - (a) Asp .Net deployment fails and (b) Debugging fails.
For the debugging, there are a number of blogs out there - my own blog lists how to get this going, and you have our Dev Lead's blog at http://weblogs.asp.net/andypennell/archive/2004/08/20/217933.aspx that also connects to Gregg's and mine blogs. The most comprehensive place I think is http://support.microsoft.com/kb/833977
For Asp .Net deployment, there aren't any issues particular to SP2 that I am aware of, but a simple search can find you common deployment errors and how to check the system to flush them out.
That leaves us with the problem of debugger errors with Asp .Net debugging on SP2.
First of all, make sure this is not an issue with deployment instead of debugger by running your project outside the debugger (Ctrl-F5 instead of F5).
Now, assuming that deployment works, debugging fails, confirm that this is asp .net specific by debugging another app (try attaching to notepad.exe, or your simple winforms app). For general debugger failure, refer to the links mentioned above.
Finally, if you have come this far, you are in a weird situation of specifically asp .net debugging failing. Open your application's web.config file and make sure the debug attribute is indeed set as described at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsdebug/html/vxtskdebugmodeinaspnetapplications.asp
Now if you are still failing, it has to be due to failure to attach to aspnet_wp.exe or w3wp.exe or inetinfo.exe. Deploy your app, open processes window (Tools->Debug Processes), check Show System Processes and Show processes in all sessions if necessary, and then attach to the aspnet_wp.exe or w3wp.exe or inetinfo.exe as a native process.
If this fails, you have a permission problem. At this point, there is no other explanation for it. Check the access permissions of your user.
If this worked, we are having auto-attach problems. This really should not happen and should be a rare case and there is no specific solution to offer, you can read this blog from Gregg to see what is going on - http://blogs.msdn.com/greggm/archive/2004/07/15/184271.aspx . I am not sure how many people manage to get to this stage - where everything above is working, just F5'ing the project fails. Do let me know if any of you guys ran into this specific issue, and what your underlying cause or fix turned out to be. I would try restarting IIS, restarting mdm (iisreset, net stop mdm, net start mdm).