关于Visual InterDev 6.0 调试ASP工程的个人方法。
2004-12-1 苗涛
运行环境:Winxp+Sp2,Visual Studio 6.0+ Sp6
参考: Microsoft MSDN
在安装或升级到 Windows XP 后,Visual InterDev 6.0 Active Server Page (ASP) 调试可能无法正常运行,并且您可能会遇到以下问题之一:• 在自动附加调试器时(单击运行按钮),可能会显示以下错误信息:
Unable to set server into correct debugging state automatically.You may not be able to debug ASP pages.Do you want to continue launching the debugger?-或者-
• 在手动附加调试器时,可能会显示以下错误信息:
Cannot attach to machine.
此时可能生成 Devenv.exe 应用程序错误,该错误将导致 Visual InterDev 停止响应。
原因
此问题出现的原因在于,"计算机调试管理器"和"目录类"组件中的 DCOM Authentication Level"身份验证级别"设置被设置为 Default"默认值"。通常,这两个组件需要使用默认为 Connect"连接"的 DCOM Authentication Level"身份验证级别"设置;但在 Windows XP 中,默认情况下它们并不设置为 Connect"连接",这导致 Visual InterDev 6.0 调试停止执行。
解决方案
这一过程包括 4 项基本任务:
1. 在站点服务器上安装调试组件。
2. 在站点服务器的“管理员”组中添加必要的用户。
3. 配置站点服务器上的 DCOM 权限。 (这步非常重要)
4. 建立用于调试的 Visual InterDev 6.0 工程。
一、安装或确认下列组件正在运行: • Microsoft Personal Web Server 4.0 或 Internet Information Server 4.0,或更高版本。
• Asp.dll 4.02.0662 版,或更高版本。如果有 4.02.0662 版本,其文件大小一定是 330,448 字节。您可以通过应用 Windows NT Service Pack 4 或更高版本来更新 Asp.dll。
在应用服务包之前,您可能需要停用 Web 服务以便 Asp.dll 得到更新。请在命令提示符下,键入以下命令以停用 Web 服务:
net stop iisadmin /y
• Microsoft FrontPage 服务器扩展 3.0.2.1706 版或更高版本。
• Microsoft Visual InterDev Server 组件。如果在“控制面板”的添加/删除程序工具中没有列出,您可以通过运行 Visual Studio CD-ROM 2(或单独的 Visual InterDev 版本的 CD-ROM 1)上 VID_SS 目录中的 Setup.exe,安装该组件。(只要装了Visual InterDev)
• Remote Machine Debugger(远程机器调试器)组件(推荐)。
如果在“控制面板”的添加/删除程序工具中没有列出,您可以通过运行 Visual Studio CD-ROM 2(或单独的 Visual InterDev 版本 CD-ROM 1)上 SCRPT_SS 目录中的 Setup.exe,安装该组件。
• Visual Studio Service Pack 3 或更高版本(如果运行的是 Windows 2000)。 (本人用的是visual studio sp6 + winxp)
备注:站点服务器必须是一台 Windows NT 4.0 Workstation/Server 或 Windows 2000 Professional/Server/Advanced Server 计算机。
二、在站点服务器的“本地管理员”组中添加必要的用户。
为了正确使用调试,您自己必须是将要进行调试的站点服务器上本地“管理员”组的成员。
在 Windows 2000“管理员”组添加用户的步骤:
1. 从开始菜单中选择程序,然后选择管理工具。
2. 从管理工具菜单中,选择计算机管理。
3. 展开系统工具下的本地用户和组。
4. 选择组文件夹。
5. 双击右边窗格中的 Administrators 组。
6. 添加能够进行调试的用户。
三、在站点服务器上配置 DCOM 权限。(这步非常重要)
请将Machine Debug Manager "计算机调试管理器"和Catalog Class "目录类"组件的 DCOM Authentication Level"身份验证级别"设置更改为 Connect"连接":
1. 在"控制面板"中,单击切换到经典视图。
2. 在"管理工具"中,双击组件服务。
3. 依次双击控制台根节点、组件服务、计算机、我的电脑和 DCOM 配置。
4. 右键单击目录类,然后单击属性。
5. 在常规选项卡的此 DCOM 应用程序的常规属性下,在身份验证级别框中单击连接。
6. 选择使用自定义启动权限选项,然后单击编辑。
7. 把允许进行调试的用户添加到这个列表中,赋予其允许启动的权力,或干脆把“管理员”
8. 单击确定以保存所作的更改并关闭该对话框。
9. 为"计算机调试管理器"重复执行第 3 步到第 5 步。
在进行更改后重新启动计算机。
四、建立用于调试的 Visual InterDev 6.0 工程。
先设置 Visual InterDev ->Tools->Option->Debugger->General 中把所有的钩都选中。
1. 在 Visual InterDev 6.0 中创建一个新的 Web 工程。
2. 在工程中添加一个 ASP 页。
3. 把下行代码添加到新 ASP 页的 HTML 体中: <%Response.Write "hello world"%>
4. 右键单击 Response.Write 行,选择 Insert Breakpoint。就将在该位置设置一个断点,该行左边沿位置会出现一个大的红点。
5. 右键单击 Project Explorer 中的文件,选择 Set as Start Page。
6. 从 Debug 菜单中选择 Start。
7. 这时候会出现一个对话框,询问您是否想激活工程的 ASP 调试。选择 yes。
8. 然后您将被提示提交调试凭据。使用已添加到“管理员”组中的一个帐户。
9. 调试器会在断点处中断,该行被突出显示。按 F5 键继续进行。 备注:如果进行的是远程调试,则要求客户安装 Personal Web Server 4.0 或 Internet Information Server 4.0,或更高版本。Windows 95 或 Windows 98 客户不支持 ASP 调试。