我想使用Classic ASP
在Visual Studio 2012
调试IIS Express
网站。因此,我在iisexpress.exe
附加了VS 2012
,但它显示了Application Debugging is disabled
。可能有什么问题?我是否要启用任何配置设置?
答案 0 :(得分: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的调试器并在要调试的脚本中设置断点。浏览到您的站点/脚本,您应该看到断点亮起:
答案 1 :(得分:2)
据我所知,我没有visual studio 2012来测试它,因为visual studio无法原生地调试asp经典代码。 我调试我的经典代码的方法是在我要调试的行上面放入stop语句 like this post says。断点只是输入停止。
function DoDate(inp)
stop
if isnull(inp) then
DoDate = "Never"
exit function
end if
在上面的示例中,加载的页面将在断点处停止并弹出一个对话框,询问您是否要调试它,然后您可以单步执行该功能,甚至可以看到通常的变量。
注意:链接显示为visual studio 2005,但它也适用于2010年(也应该在2012年有效),您也不需要DEBUG扩展名。
还要确保在IIS中激活了服务器端调试,否则无法正常工作。
答案 2 :(得分:1)
转到IIS - > ASP - >调试属性 - >启用客户端和服务器端调试
然后从VS2012附加w3wp进程
答案 3 :(得分:0)
我喜欢在我的开发计算机上使用完整的IIS,因为它是我的网络服务器运行的,并且过去在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"
享受调试代码。