经典ASP超级新手问题

7
好的,我最近转向了Web开发领域,之前在一种相对简单的专有语言中编码了好几年。我的第一项工作之一是为我们的客户调整一个旧的经典ASP页面。 我正在使用Visual Studio 2008尝试调试一些问题,但页面根本无法加载。如果我使用IIS在本地浏览站点,那么一切都没有任何问题,所以我不确定自己做错了什么。
这里是我收到的错误消息:
Compiler Error Message: BC30451: Name 'VariableName' is not declared.

这个设置的方式是,file1.asp 包含了 file2.asp。
<!-- #include file=./includes/file2.asp -->

然后,file2.asp 会进行一个表单提交到 file3.asp。
<FORM METHOD="POST" ACTION="/includes/file3.asp">

变量是在file3.asp中创建的。

当通过IIS运行此站点时,一切正常,变量似乎可以在文件之间传递而没有任何问题,但是当我尝试使用VS2008调试站点时,我会得到BC30451错误代码。

有人能帮助我吗?我已经做了很多谷歌搜索和阅读其他网站,这些网站似乎处理此问题,但很多东西超出了我的理解范围。 如果有人能够花时间解释发生了什么以及为什么会发生,并提供某种解决方案或将我指向可能能够提供帮助的地方,那将不胜感激。

谢谢,

Pat。

2个回答

7
您可以在Visual Studio 2008中调试经典ASP。这样做的方法是将调试器附加到运行ASP页面的进程上。请记住,经典ASP调试仅适用于IIS,而不适用于VS开发Web服务器(Cassini)。此外,请确保已在IIS中启用了ASP调试:

IIS主目录属性 http://img4.imageshack.us/img4/6431/capturert.png


IIS应用程序配置 http://img26.imageshack.us/img26/4802/capture2qr.png

一旦您在IIS中进行了上述配置,以下是如何连接调试器的方法:

  1. 在Visual Studio中打开Classic ASP文件
  2. 在服务器端代码中设置断点
  3. 在Web浏览器中查看页面(确保主机进程正在运行)
  4. 在Visual Studio中:Debug菜单 -> Attach to Process
  5. 找到IIS ASP工作进程(IIS6上为w3wp.exe,IIS5.1上为dllhost.exe)
  6. 附加到主机进程的脚本代码(请参见下面的示例)

附加调试器对话框 http://img43.imageshack.us/img43/2218/capturegb.png

此时,断点应该已经绑定,您应该能够调试经典ASP页面。(一旦调试器已附加,您可能需要在Web浏览器中刷新页面以再次执行代码)

太棒了,看起来问题已经解决了。我通过IIS访问该网站,然后通过附加到IIS进程进行调试,而不是使用Cassini进行调试。我在网上阅读了一些相关信息,但无法理解...感谢您的建议,使我清晰明了,非常感激。 - Patrick Ottery
这个对我来说第一次也很棘手。欢迎来到StackOverflow! - Saul Dolgin
1
非常正确!我刚刚根据你的答案(部分地)完成了它。非常感谢! - Toothbrush

-1

我从未尝试在VS2008中运行经典ASP。但它不是一种编译语言,我认为你无法在其上运行调试器。当我使用ASP时,我只是通过大量的Response.Write来进行调试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接