7

我想Classic ASPVisual Studio 2012. IIS Express因此,我附上了iisexpress.exein VS 2012,但它显示Application Debugging is disabled. 可能是什么问题?我要启用任何配置设置吗?

在此处输入图像描述

4

4 回答 4

7

首先,您需要启用经典 ASP 脚本的服务器端调试。通过运行以下命令来执行此操作:

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config "[YOUR_SITE_NAME]" -section:system.webServer/asp /appAllowClientDebug:"True" /appAllowDebugging:"True"  /commit:apphost

[YOUR_SITE_NAME]您的网站名称在哪里。你可以通过打开找到这个名字:

%USERPROFILE%\Documents\IISExpress\config\applicationhost.config 

...并搜索您的网站。

接下来,从命令行启动一个 IIS Express 实例:

"C:\Program Files (x86)\IIS Express\iisexpress.exe" /config:c:\users\kevin\Documents\IISExpress\config\applicationhost.config /site:"[YOUR_SITE_NAME]" /apppool:"Clr2IntegratedAppPool"

同样,[YOUR_SITE_NAME]是您的 IIS Express 网站的名称。

然后附加 Visual Studio 2012 的调试器并在要调试的脚本中设置断点。浏览到您的站点/脚本,您应该会看到断点亮起:

在此处输入图像描述

于 2013-11-04T05:05:19.867 回答
2

据我所知,Visual Studio 无法在本地调试 asp 经典代码,我没有 Visual Studio 2012 对其进行测试。我调试我的 asp 经典代码的方式是在我想要调试的那一行上面的行中放入停止语句, 就像这篇文章说的那样。断点只是输入停止。

function DoDate(inp)
   stop
if isnull(inp) then
    DoDate = "Never"
    exit function
end if  

在上面的示例中,页面加载后将在断点处停止并弹出一个对话框,询问您是否要调试它,然后您可以单步执行该函数,甚至可以像往常一样查看变量。

注意:链接显示 Visual Studio 2005,但它也适用于 2010 年(也应该适用于 2012 年),您也不需要 DEBUG 扩展。

还要确保您在 IIS 中激活了服务器端调试,否则这将不起作用。

于 2013-11-04T04:05:53.583 回答
2

转到 IIS-->ASP-->调试属性-->启用客户端和服务器端调试

然后从 VS2012 附加 w3wp 进程

于 2016-01-27T07:57:43.243 回答
0

我喜欢在我的开发机器上使用成熟的 IIS,因为它是我的 Web 服务器运行的,并且过去在 Casini 和 IIS 之间存在差异问题。

无论如何,我无法按照@Kev 建议的方式进行操作。我又玩了一些+阅读,发现在“附加到进程”窗口中,您需要在“附加到:”选项中专门选择“脚本代码”。

1) F9 to set breakpoints in code
2) Ctrl-Alt-P to attach to process
3) Next to "Attach To:" click on the "Select" button
4) Select "Script Code"
5) In my case, attach to "w3wp.exe"

享受调试代码的乐趣。

于 2014-06-19T05:46:25.153 回答