Learn more about SQL Server tools

mssqltips logo
 

Tutorials          DBA          Dev          BI          Career          Categories          Webcasts          Whitepapers          Today's Tip          Join

Tutorials      DBA      Dev      BI      Categories      Webcasts

DBA    Dev    BI    Categories

Next Webcast - Simple SQL Server Reporting - Click Here to Register
 

Allow Debugging for SharePoint - Part 1


By:   |   Read Comments   |   Related Tips: > Sharepoint

Problem

At some point SharePoint developers will need to trace, log and debug their code when they get tripped up with bugs or any weird things when building custom solutions, applications, or components for SharePoint.

Solution

SharePoint hides the real detailed error messages and debug /tracing information which relate to the error. In order to display it we can debug SharePoint Applications & Solutions using the detailed steps below :

  • Enable debug information and tracing over bugs and exceptions on WSS (Windows SharePoint Services) 3.0 & MOSS (Microsoft Office SharePoint Server) 2007 - Part 1.
  • Enable debug information and tracing over bugs and exceptions on SharePoint 2010 - Part 2.

Enable debug information and tracing over bugs and exceptions on WSS (Windows SharePoint Services) 3.0 & MOSS (Microsoft Office SharePoint Server) 2007:

We can allow debugging/tracing in SharePoint 2007 by using the multiple approaches below:

I. "Debugging with VSEWSS (Visual Studio Extensions For Windows SharePoint Services)": [F5 Debugging]

  1. Locate and open the target SharePoint applications "Web.Config" file . (Usually located at: "C:\Inetpub\wwwroot\wss\VirtualDirectoties\<port_number_of_Web application>").
  2. Search and find the below line of code and change "debug" attribute to "true" then save the change:
    <compilation batch="false" debug="false"> into <compilation batch="false" debug="true">
  3. Search and find the below line of code and change "CallStack" attribute to "true" then save the changes:
    <SafeMode MaxControls="200" CallStack="false" ...> into <SafeMode MaxControls="200" CallStack="true" ...>
  4. Search and find the below line of code and change "mode" attribute to "Off" then save the changes:
    <customErrors mode="On" /> into <customErrors mode="Off" />
  5. Then in Visual Studio, Right click the SharePoint Project and then click properties.
  6. Click the "Debug" tab then type the target SharePoint URL in the 'start browser with URL' box. Then, place a breakpoint either by clicking on the line of code or pressing F9 on the selected line of code and then press "F5".

II. "Manual Debugging": [w3wp.exe Attach to Process]

We can debug SharePoint applications without using VSEWSS [F5 Debugging] by attaching to the w3wp.exe process by using the following procedures:

  1. The SharePoint application must use the latest compiled source code. We need to recompile the source code and install the assemblies into the GAC (Global Assembly Cache - usually located at: C:\Windows\assembly). Alternatively, we may need to copy the assemblies to the bin folder of the SharePoint virtual directory. This is usually located at: "C:\Intepub\wwwroot\wss\VirtualDirectories\<port_number_of_web application>\bin". In either case we must run  the Microsoft Internet Information Services (IIS) command-line utility "iisreset.exe" by opening a command prompt and typing "iisreset".
  2. Place a breakpoint in the code that we want to debug.
  3. Click on the "Debug" menu then click "Attach to Process".
  4. In the list of available processes, find the W3wp.exe process and then do the following, as applicable:
    • If the W3wp.exe process is not listed make sure that the "Show processes from all users" & "Show processes in all sessions" check boxes are selected.
    • If the W3wp.exe process is still not listed, open a web browser and navigate to the application SharePoint site. Then return to the Visual Studio, then "Attach to process" and click the refresh button to locate the W3wp.exe process.
    • If you see multiple W3wp.exe process listed and ae not sure which one is running the code, we can click them all or open a "cmd" window and type "iisapp" towhich W3wp.exe process number is mapped to our web application port number.
    • Click the Attach button.

III. "Remote Debugging": [W3wp.exe Remote Attach to Process]

We can debug a SharePoint application which is running on a remote computer by attaching to the remote W3wp.exe process by using the following procedures:

  1. Repeat step (1) at "Manual Debugging".
  2. Make sure that the Visual Studio remote debugger is installed on the remote computer and then start the remote debugger monitor.
  3. Then open Visual Studio on the local computer and open the solution. Then set the breakpoints.
  4. Click on the Debug menu. Then click on "Attach to process". Then in the Qualifier text box, type the name of the remote computer and then click Refresh.
  5. Then in the Available Processes list , find the W3wp.exe process then repeat step (4) at "Manual Debugging".
Next Steps


Last Update:


next webcast button


next tip button



About the author





Post a comment or let the author know this tip helped.

All comments are reviewed, so stay on subject or we may delete your comment. Note: your email address is not published. Required fields are marked with an asterisk (*).

*Name    *Email    Email me updates 


Signup for our newsletter
 I agree by submitting my data to receive communications, account updates and/or special offers about SQL Server from MSSQLTips and/or its Sponsors. I have read the privacy statement and understand I may unsubscribe at any time.



    



Learn more about SQL Server tools