2013-11-04 121 views

回答

2

我没有的Visual Studio 2012就测试它,因为我知道的Visual Studio无法调试ASP经典代码本身。 我调试我的asp经典代码的方式是在上面我要调试的行上放置停止语句 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中激活的服务器端调试或这将无法正常工作。

+3

VS2012可以同时使用全脂IIS调试本地传统的ASP代码和IIS Express。 – Kev

+0

@ user2255811你的回答救了我,我花了很多时间让它工作。最后,停止制作一个伎俩。谢谢 – Smaug

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快递网站的名称。

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

enter image description here

+0

你的回答非常详细和有帮助。但是,当我连接IISExpress时,它只显示空白屏幕,而不是用于调试的文件。如果我把停止在asp编码它加载所有的文件进行调试。请告知这种奇怪行为的原因是什么? – Smaug

+0

您是否将希望调试的脚本添加到解决方案中?你需要这样做并设置一个断点。 – Kev

+0

+1这工作! ...对于我的项目/网站的一小部分ASP文件。你可以看看[这个后续问题](http://stackoverflow.com/q/38937879/2662901)? – feetwet

0

我喜欢用我的开发机器上完全成熟的IIS,因为它就是我的Web服务器上运行,并曾与卡西尼之间的差异问题和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" 

享受调试您的代码。

+0

你好,我试过了 - 虽然它停在我的断点处,但我看不到任何东西的价值。将鼠标悬停在任何变量上什么都不做。有什么建议么?这是在IIS 8.5(赢得8.1)和2012年。 – merk

+0

嗯....我没有看到这之前..偶尔IDE有问题,如鼠标悬停,看不到任何值。这通常通过将鼠标从变量移开然后返回来解决。除此之外,您可以使用监视窗口或立即窗口。不太方便,但通常仍然可行。甚至是用于快速观看的Ctrl-F9(??)。 – Ads

+1

尝试突出显示变量(双击它应该突出显示它),然后将鼠标悬停在其上。我也认为我无法将鼠标悬停在变量上并查看它们的值,但是随后突出显示(用鼠标选中文本)并将其悬停在其上并且它工作正常。 – Lee

1

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

然后从VS2012附加w3wp进程

相关问题