转:How to troubleshoot Enterprise Portal error ”Unable to render content due to an error. Please cont...

转自:http://blogs.msdn.com/b/emeadaxsupport/archive/2010/11/17/how-to-troubleshoot-enterprise-portal-error-unable-to-render-content-due-to-an-error-please-contact-your-system-administrator-quot.aspx

Sometime during development on Enterprise Portal we get error:

"Unable to render content due to an error. Please contact your system administrator."

Of course this error is not so descriptive and if there is no information in event viewer it is almost impossible to know what is going on.

The easiest way to get more information is to enable debugging on our page. To do it you need to:

1. Copy web.config (located in Local_Drive:\Inetpub\wwwroot\wss\VirtualDirectories\Port_Number) to save place

2. Edit web.config

3. Set CallStack="true" in line <SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="10" TotalFileDependencies="50" AllowPageLevelTrace="false">

4. Set debug="true" in line <compilation batch="false" debug="false">

5. Set customErrors mode="Off" in line <customErrors mode="On" />

At this point when you access back the problematic page you should see more descriptive error and what is more important there is call stack. From this call stack most developer would be able to find problematic code and fix it. If it still does not help then we can debug code behind the web part. To debug the C# code we will need to have debugger installed on Enterprise Portal server. In my case I have Visual Studio 2008 installed.

To debug I do following:

1. Editing the web.config file as stated above

2. In Visual Studio 2008 go to: Tools - Attach to Process from the menu

3. Make sure the options Show processes from all users and Show processes in all sessions are enabled (checked)

4. In the list of processes located the process w3wp.exe and attach to this process (If you have more than one w3wp.exe process listed, see the appendix at the end how to determine the correct process)

5. Open problematic web control code from C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\ep (We are interested in file with extension .cs)

6. Put your breakpoint in opened control

7. In IE go again to problematic page

How can I determine the correct w3wp.exe process to attach to?

The Microsoft SQL Server Reporting Services 2005 are hosted in the Microsoft Windows Server Internet Information Services (IIS). Therefore the process to attach to for debugging is the IIS Worker Process (w3wp.exe). As IIS is starting at least one Worker Process per Application Pool, more than one w3wp.exe processes are usually running on a Windows Server.

In order to see what Worker Process is serving what IIS Application Pool tools exists:

  • On Windows Server 2003 (IIS 6.0) run: iisapp.vbs
  • On Windows Server 2008 (IIS 7.0) run: appcmd.exe list wp

The output of the tools looks as follows:

C:\Windows\system32>iisapp.vbs
W3WP.exe PID: 2056 AppPoolId: AxReportServer
W3WP.exe PID: 5092 AppPoolId: EP - 39014 C:\Windows\system32\inetsrv>appcmd.exe list wp
WP "6916" (applicationPool: SharePoint Central Administration v3)
WP "1356" (applicationPool: AxReportServer)

Once identified the correct w3wp.exe process (based on the Application Pool) use the PID (Process ID) to attach to the correct w3wp.exe process.

--author: Czesława Langowska

--editor: Czesława Langowska

--date: 17/Nov/2010

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值