The following steps helps me resolve a nasty VS.NET debugging issue I was having. When you launch the VS .NET debugger automatically by pressing the PLAY button or F5, debugging works just fine. However, if you try to manually attach to a process (like w3wp.exe in Windows Server 2003), the debugger is never able to load the debug symbols and it won’t stop on your breakpoints. I finally threw in the towel and used one of my MSDN Universal subscription PSS tickets to resole this issue:
Go to Start -> Run -> Type dcomcnfg and press Enter .
- On the Default Properties Tab
- Make sure that Enable Distributed COM on this computer is checked
- Set default authorization level to Connect
- Set default impersonation level to Identify
- On the Default Security Tab
- Edit Default for the Default Access Permissions
- Add the following accounts if they are not present
- MachineName\Administrators
- MachineName\Debugger Users
- System
- Edit Default for the Default Launch Permissions
- Add the following accounts if they are not present
- MachineName\Administrators
- MachineName\Debugger Users
- System
- On the Applications Tab, locate and select the Just-In-Time Debugging Handler and CLR Remote Host application
- On the General Tab, make sure that the Authentication level is set to connect
- On the Security Tab, select Use Custom access permissions and select the Edit button
- Add the following accounts if they are not present
- MachineName\Administrators
- MachineName\Debugger Users
- System
- On the Security Tab, select Use Custom launch permissions and select the Edit button
- Add the following accounts if they are not present
- MachineName\Administrators
- MachineName\Debugger Users
- System
- On the Identity Tab, make sure that the interactive user is selected
- Click OK until you are back to the Distributed COM Configuration Properties dialog.
- On the Applications Tab, locate and select the Machine Debug Manager application
- On the General Tab, make sure that the Authentication level is set to connect
- On the Security Tab, select Use Custom access permissions and select the Edit button
- Add the following accounts if they are not present
- MachineName\Administrators
- MachineName\Debugger Users
- System
- On the Security Tab, select Use Custom launch permissions and select the Edit button
- Add the following accounts if they are not present
- MachineName\Administrators
- MachineName\Debugger Users
- System
- On the Identity Tab, make sure that The System Account (services only) is selected
- Click OK until you are back to the Distributed COM Configuration Properties dialog.
Local Security Policy Settings
- Open the Local Security Policy Settings from Control Panel -> Administrative Tools -> Local Security Policy
- From the right-hand side select expand Local Policies
- Select User Rights Assignments
- Double click the Debug Programs privilege and add the Debugger Users group
Give rights on the following folders
C:\WINNT\Temp\Developers group -> Full control
C:\WINNT\Microsoft.NET\Framework\v1.1.4322\CONFIG\Developers group -> Read&Execute, List Folder Contents, Read
C:\WINNT\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\Developers group -> Full control
C:\Inetpub\Developers group -> Read&Execute, List Folder Contents, Read (added)
C:\Inetpub\wwwroot\Developers group -> Full control
C:\Inetpub\wwwroot\Developers group -> Read&Execute, List Folder Contents, Read (added)
Open the machine.config file from the C:\WINNT\Microsoft.NET\Framework\v1.1.4322\CONFIG folder
Press CTRL + F to open the Find dialog and type
Change the userName attribute to be the user
Change the password attribute to be the users password.