Sma*_*aug 7 debugging asp-classic iis-express visual-studio-2012
我想调试Classic ASP的网站Visual Studio 2012有IIS Express.因此,我附iisexpress.exe的VS 2012,但它显示Application Debugging is disabled.可能有什么问题?我是否要启用任何配置设置?

首先,您需要启用经典ASP脚本的服务器端调试.通过运行以下命令执行此操作:
"C:\Program Files (x86)\IIS Express\appcmd.exe" set config "[YOUR_SITE_NAME]" -section:system.webServer/asp /appAllowClientDebug:"True" /appAllowDebugging:"True" /commit:apphost
Run Code Online (Sandbox Code Playgroud)
[YOUR_SITE_NAME]您网站的名称在哪里?您可以通过以下方式找到此名称:
%USERPROFILE%\Documents\IISExpress\config\applicationhost.config
Run Code Online (Sandbox Code Playgroud)
...并搜索您的网站.
接下来,从命令行启动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"
Run Code Online (Sandbox Code Playgroud)
同样,[YOUR_SITE_NAME]是您的IIS Express网站的名称.
然后附加Visual Studio 2012的调试器并在要调试的脚本中设置断点.浏览到您的站点/脚本,您应该看到断点亮起:

据我所知,我没有 Visual Studio 2012 来测试它,因为 Visual Studio 无法本地调试 asp 经典代码。我调试我的 ASP 经典代码的方法是在我想要调试的代码上方的行中放入停止语句, 就像这篇文章所说的那样。断点只需输入 stop 即可。
function DoDate(inp)
stop
if isnull(inp) then
DoDate = "Never"
exit function
end if
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,加载时的页面将在断点处停止并弹出一个对话框,询问您是否要调试它,然后您可以单步执行该函数,甚至可以像平常一样查看变量。
注意:该链接显示 Visual Studio 2005,但它也适用于 2010 年(并且也应该适用于 2012 年),您也不需要 DEBUG 扩展。
还要确保您在 IIS 中激活了服务器端调试,否则这将不起作用。