How to: Debug SharePoint Applications


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

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.

    
    
    
  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 Processdialog 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.
Ff650703.note(en-us,PandP.10).gifNote:
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 Processdialog 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.

Popular posts from this blog

Register Event Handlers plus free Site Settings – Manage Event Handlers Add-on solution

Custom Form Base Login Web Part With Sharepoint 2010

Real World Branding with SharePoint 2010 Publishing Sites