Debugging Visual Studio 2012在经典ASP调试中禁用了应用程序调试

Debugging Visual Studio 2012在经典ASP调试中禁用了应用程序调试,debugging,visual-studio-2012,asp-classic,iis-express,Debugging,Visual Studio 2012,Asp Classic,Iis Express,我想用iisexpress调试visualstudio 2012上的Classic ASP网站。因此,我在VS 2012中附加了iisexpress.exe,但它显示应用程序调试已禁用。有什么问题吗?是否要启用任何配置设置 据我所知,visual studio无法以本机方式调试asp经典代码,因此我没有visual studio 2012来测试它。 我调试asp经典代码的方法是在我要调试的代码上方的行中插入stop语句 . 断点只是输入stop function DoDate(inp) s

我想用
iisexpress
调试
visualstudio 2012上的
Classic ASP
网站。因此,我在
VS 2012
中附加了
iisexpress.exe
,但它显示
应用程序调试已禁用。有什么问题吗?是否要启用任何配置设置


据我所知,visual studio无法以本机方式调试asp经典代码,因此我没有visual studio 2012来测试它。 我调试asp经典代码的方法是在我要调试的代码上方的行中插入stop语句 . 断点只是输入stop

function DoDate(inp)
   stop
if isnull(inp) then
    DoDate = "Never"
    exit function
end if  
在上面的示例中,加载页面时将在断点处停止,并弹出一个对话框,询问您是否要调试它,然后您可以单步执行该函数,甚至可以像平常一样查看变量

注意:链接上说VisualStudio2005也可以在2010年使用(应该也可以在2012年使用),您也不需要调试扩展


还要确保在IIS中激活了服务器端调试,否则这将无法工作。

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

"C:\Program Files (x86)\IIS Express\appcmd.exe" set config "[YOUR_SITE_NAME]" -section:system.webServer/asp /appAllowClientDebug:"True" /appAllowDebugging:"True"  /commit:apphost
其中
[您的站点名称]
是您的网站名称。您可以通过打开以下文件找到此名称:

%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"
同样,
[您的站点名称]
是您的IIS Express网站的名称

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


我喜欢在我的开发机器上使用完整的IIS,因为它是我的web服务器运行的,而且过去在Casini和IIS之间存在差异问题

无论如何,我无法按照@Kev建议的方式来做。我做了更多的游戏+阅读,发现在“附加到进程”窗口中,您需要在“附加到:”选项中特别选择“脚本代码”

享受调试代码的乐趣。

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


然后从VS2012附加w3wp进程

VS2012可以使用全脂IIS和IIS Express以本机方式调试经典ASP代码。@user2255811您的回答救了我,我花了很多时间使其工作。最后,别耍花招了。谢谢你,你的回答很详细,很有帮助。但是,当我连接IISExpress时,它只显示一个空白屏幕,而不是带文件进行调试。如果我停止asp编码,它会加载所有文件进行调试。请告知这种奇怪行为的原因是什么?您是否已将要调试的脚本添加到解决方案中?你需要这样做,并设置一个断点。+1这起作用了。。。获取一小部分我的项目/站点的ASP文件。你能看一下吗?您好,我试过这个-虽然它在我的断点处停止,但我看不到任何值。将鼠标悬停在任何变量上都不会产生任何效果。有什么建议吗?这是在IIS 8.5(win 8.1)和vs 2012上。。。。我以前没见过这个。。有时ide会出现一些问题,比如鼠标移到哪里,看不到任何值。这通常通过将鼠标从变量上移开,然后再移开来解决。除此之外,您可以使用“监视”窗口或“即时”窗口。不太方便,但通常仍然可行。甚至可以按Ctrl-F9(??)快速查看。尝试高亮显示变量(双击该变量应高亮显示),然后将鼠标悬停在该变量上。我还以为我不能将鼠标悬停在变量上,看不到它们的值,但后来我突出显示(用鼠标选择文本)并将鼠标悬停在变量上,结果成功了。
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"