Microsoft KB Archive/817035

= PRB: &quot;Access Is Denied&quot; Error Message When You Use System.Diagnostics.Debugger.Break in an ASP.NET Application =

Article ID: 817035

Article Last Modified on 4/29/2007

-

APPLIES TO


 * Microsoft ASP.NET 1.1
 * Microsoft ASP.NET 1.0

-



SYMPTOMS
When you use the System.Diagnostics.Debugger.Break method to invoke a just-in-time (JIT) debugging window in an ASP.NET application, you may receive the following error message:

JIT Debugging failed with the following error: Access is denied.

JIT Debugging was initiated by the user account 'ServerName\ASPNET'.

Check the documentation index for 'Just-in-time debugging, errors' for more information.

Note ServerName is the name of your Web server.



CAUSE
By default, the ASP.NET worker process runs under the ASPNET user account. This ASPNET account does not have the user right to invoke JIT by using the System.Diagnostics.Debugger.Break method unless the account is added to the Debugging Users group.



RESOLUTION
To resolve this problem, add the ASPNET user account to the Debugger Users group or run the ASP.NET worker process under another user account that has debugging rights.

To add the ASPNET user account to the Debugger Users group, follow these steps:  Click Start, point to Programs, point to Administrative Tools, and then click Computer Management. In Computer Management, expand System Tools, expand Local Users and Groups, and then expand Groups. Double-click Debugger Users. In the Debugger Users Properties dialog box, click Add. In the Select Users or Groups dialog box, type ServerName\ASPNET in the text box, and then click OK two times. Close the Computer Management tool. Create an ASP.NET Web Application project, as explained in the steps 1 through 4 of the &quot;More Information&quot; section.</li> Type the following URL in the browser:

http://ServerName/JitTest/WebForm1.aspx

Note ServerName is name of the Web server.

Verify that the expected JIT window is invoked.</li></ol>

Important By adding users to the Debugger Users group, you might create a security risk because you are allowing those users to gain access to your computer. Only add those users who must have debugger access on that specific computer. It is not a good idea to add Everyone to the Debugger Users group.

<div class="status_section">

STATUS
This behavior is by design.

<div class="moreinformation_section">

Steps to Reproduce the Behavior
<ol> In Microsoft Visual Studio .NET, create a new ASP.NET Web Application project by using Visual Basic .NET or Visual C# .NET. Name the project JitTest. By default, WebForm1.aspx is created.</li> Right-click WebForm1.aspx, and then click View Code.</li>  Modify the Page_Load event as follows :

Visual C# .NET Sample Code private void Page_Load(object sender, System.EventArgs e) { System.Diagnostics.Debugger.Break; } Visual Basic .NET Sample Code Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load System.Diagnostics.Debugger.Break End Sub </li> On the Build menu, click Build Solution.</li>  Type the following URL in the browser: http://ServerName/JitTest/WebForm1.aspx </li></ol>

<div class="references_section">