How to: Debug SharePoint Applications

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

You can greatly simplify debugging by using Visual Studio extensions for Windows SharePoint Services. This topic includes procedures that explain the following:

  • Debugging with Visual Studio extensions for Windows SharePoint Services
  • Performing manual debugging
  • Performing remote debugging

Debugging with Visual Studio extensions for Windows SharePoint Services

Press the F5 key to begin debugging with Visual Studio extensions for Windows SharePoint Services. The following procedure demonstrates how to enable F5 debugging.

To enable F5 debugging

  1. Locate and open the target SharePoint application's Web.config file. By default, it is located in C:\Inetpub\wwwroot\wss\VirtualDirectories\80.

  2. Find the following line of code and change the debug attribute to true.

    <compilation batch=”false” debug=”false”>
    
  3. Save the changes to the Web.config file.

  4. In Visual Studio, right-click the SharePoint project, and then click Properties.

  5. Click the Debug tab, and then type the target SharePoint URL in the Start browser with URL box.

  6. Place a breakpoint in the code, and then press F5.

Performing Manual Debugging

You can debug a SharePoint application without using Visual Studio extensions for Windows SharePoint Services by attaching it to the W3wp.exe process. The following procedure demonstrates how to do this.

To attach to the W3wp.exe process

  1. Make sure that the SharePoint application is using the latest compiled source code. This may require that you recompile your source and install the assemblies into the global assembly cache. Alternatively, you may need to copy the assemblies to the bin folder of SharePoint's virtual directory. In either case, you must run the Microsoft Internet Information Services (IIS) command-line utility Iisreset.exe.
  2. Place a breakpoint in the code you want to debug.
  3. On the Debug menu, click Attach to Process.
  4. In the list of available processes, find the W3wp.exe process, and then do the following, as applicable:
    1. If the W3wp.exe process is not listed, make sure that the Show processes from all users and Show processes in all sessions check boxes are selected.
    2. If the W3wp.exe process still is not listed, open a Web browser and navigate to the application's SharePoint site. After you navigate to the SharePoint site, return to Visual Studio. In the Attach to Process dialog box, click the Refresh button to locate the W3wp.exe process.
    3. If you see multiple W3wp.exe processes listed and are not sure which one of them is running the code, click them all.
  5. Click the Attach button.

Performing Remote Debugging

You can debug a SharePoint application when it is running on a remote computer by attaching it to the remote W3wp.exe process. The following procedure demonstrates how to do this.

Note

For information about configuring a remote server for debugging, see How to: Set Up Remote Debugging in the Visual Studio 2008 Developer Center on MSDN.

To attach to a remote W3wp.exe process

  1. Make sure that the remote SharePoint application is using the latest compiled source code. This may mean that you must recompile your source and install the assemblies into the global assembly cache of the remote server. Alternatively, you may need to copy the assemblies to the bin folder of SharePoint's virtual directory on the remote computer. In either case, you must run the Microsoft Internet Information Services (IIS) command-line utility Iisreset.exe.
  2. Make sure that the Visual Studio 2008 Remote Debugger is installed on the remote computer.
  3. Start the Visual Studio 2008 Remote Debugger on the remote computer. For more information about using the remote debugger, see How to: Run the Remote Debugging Monitor on MSDN.
  4. In Visual Studio on the local computer, open the solution, and then set a breakpoint.
  5. On the Debug menu, click Attach to Process.
  6. In the Qualifier text box, type the name of the remote computer, and then click Refresh.
  7. In the Available Processes list, find the W3wp.exe process, and then do the following, as applicable:
    1. If the W3wp.exe process is not listed, make sure that the Show processes from all users and Show processes in all sessions check boxes are selected.
    2. If the W3wp.exe process still is not listed, open a Web browser and navigate to the application's SharePoint site. After you navigate to the SharePoint site, return to Visual Studio. In the Attach to Process dialog box, click the Refresh button to locate the W3wp.exe process.
    3. If you see multiple W3wp.exe processes listed and are not sure which one of them is running the code, click them all. Click Attach.
Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Footer image

To provide feedback, get assistance, or download additional, please visit the SharePoint Guidance Community Web site.

Copyright © 2008 by Microsoft Corporation. All rights reserved.