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 SharePoint 2010 :
In WSS 3.0 / MOSS 2007, to allow debugging, we have to modify only the Web.Config which relates to your web application. But in SharePoint 2010, we have to modify two different Web.Config files by following the steps below:I. Virtual Directory Web.Config File
If we opened the target SharePoint solution using Visual Studio.net 2010 then select Debug or click F5, Visual Studio will prompt with a dialog box that alerts that the Web.Config file is not configured to enable debugging. The dialog box gives us the option of either running the project without debugging or modifying the Web.Config file to enable debugging.If we select the first option, the project runs normally. But if we select the second option the Web.Config file is configured to :- Turn on the Call Stack (CallStack="true")
- Disable the custom errors in Visual Studio (
) - Enable compilation debug (
)
We can configure the debugging manually as we did at Part 1 via:
- Locate and open the "Web.Config" file . (Usually located at : "C:\Inetpub\wwwroot\wss\VirtualDirectoties\
") .
- Search and find the line of code (below) and change the "debug" attribute to "true" and then save the changes :
<compilation batch="false" debug="false"> into <compilation batch="false" debug="true"> - Search and find the following line of code and change the "CallStack" attribute to "true" and then save the changes :
<SafeMode MaxControls="200" CallStack="false" ...> into <SafeMode MaxControls="200" CallStack="true" ...> - Search and find the following line of code and change the "mode" attribute to "Off" and then save the changes:
<customErrors mode="On" /> into <customErrors mode="Off" />
II. "LAYOUTS Web.Config File":
- Locate and open the LAYOUTS "Web.Config" file . (Usually located at : "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\Template\Layouts") .
- Search and find the following line of code and change the "mode" attribute to "Off" and then save the changes:
<customErrors mode="On" /> into <customErrors mode="Off" />
According to the complex interactions between Visual Studio processes (of 'devenv.exe' and 'vssphost4.exe'), and the SharePoint and WCF layers, diagnosing errors that occur while building, deploying, etc...can be a challenge. In order to solve such errors, we can enable the enhanced debugging information by following the steps below:
- Go to the registry (Run > Regedit) in the windows registry.
- Go to [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\SharePointTools] .
- Right Click on SharePointTools and select Create new dword value. Name it "EnableDiagnostics" for the key and set the value from "0" to "1" (Setting this key value to "1" causes stack trace information to appear in the Output window "View (Menu) > Output" whenever project system errors occur while we are running in Visual Studio. To disable enhanced debugging information set the "EnableDiagnostics" key value to "0".