调试时在错误的行上调试时经典Asp

问题描述:

我在使用任何MS调试环境调试我的工作站上的任何ASP Classic网站时遇到问题。我在Win XP SP3上,使用内置的IIS 5.1。调试时在错误的行上调试时经典Asp

它几个星期前就开始了,发生在多个项目中。在我的环境中发生了明显的变化,因为过去我工作得很好,即使在最近的IDE中,只要我附加处理。然后如下所述破裂。我放弃了它,但最近我开始研究一个新项目,试图进行调试并且工作正常!然而,今天,它回到了同样的破坏行为:

当我尝试设置断点时,IDE实际上将点设置在点击的行的上方或下方几行。我试图在完全是服务器端代码的行上设置断点,所以这不是因为它在嵌入代码块的HTML之前或之后跳过。偶尔它不会设置断点,给我一个空心的断点图标,并提出一个错误,表示没有可执行代码。

当我附加到IIS进程(inetinfo.dll,因为我在低隔离模式下运行),可能不会命中断点。如果是,并且我开始单步执行,选定的线路将跳转,并且不会在源中的每条连续线上着陆,也不会按照预期遵循控制结构。监视的变量未按预期更新。很明显,我看到的代码不同于相同的行号。

同样的行为发生是否我在浏览器加载页面和

  • 附加到从VS2010的过程中,设置一个断点,并刷新页面,或
  • 设置的断点,连接到进程,并刷新,或
  • 在我的源中添加一个“停止”语句,并刷新页面。在这种情况下,我会看到一个可用的调试器列表,并且它们中的每一个都执行完全相同的操作 - 它们跳过相同的代码行,并遵循相同的“错误”路径。我已经尝试过VS2010,2008,2005,2003和Microsoft Script Debugger。

似乎源代码与调试器正在逐步完成的内容不同步。我已经确定'需要源文件与原始版本完全匹配'在VS>工具>选项>调试>常规中设置

而且,当然,这些都是ASP经典网站 - 没有编译代码,所以我在IDE中看到的源应该与调试器执行的相同。这不是特定于一个项目 - 目前至少有两个完全独立的项目正在进行。而且,它发生在多台机器上 - 我将我的项目部署到测试服务器,并试图在那里调试,并得到相同的行为。

我发现有关含有非ANSI字符UTF编码的文件发音相似的问题的一些信息(你知道,你使用Unicode支持的!)hereherehere,但我去经过我的源找不到像这样的文件。

任何想法?谢谢!

我见过的唯一一次项目被设置为发布模式而不是调试模式。

检查此操作有多容易取决于您的IDE设置,它可能已经在您的工具栏中,但如果它不是。

  1. 右键单击该解决方案
  2. 选择配置管理器...
  3. 确保调试在“活动解决方案配置”选择下拉
+0

不,已经检查 - 我目前正在使用的项目中只有一个调试配置。而且,再次,没有“编译”步骤来调用配置 - 它只是保存.ASP文件,并刷新浏览器。谢谢,寿! – Val 2010-10-29 02:44:49

+0

这个问题是否发生在其他人的机器上?如果有,请检查项目的构建设置,以确保它生成正确的调试信息。我认为你已经尝试重建?如果这些都不起作用,那么我可能只是把我的手放在空中,尖叫,然后重新安装VS. – knightpfhor 2010-10-29 03:11:10

+0

没有什么可以建立的,但是我仍然重建了,没有任何效果。我会看看我是否可以在另一台机器上复制,这是个好主意!我不认为这只是VS - 它发生在VS的所有版本中,加上MS Script Debugger,因此正在调用一些常见组件...... – Val 2010-10-29 18:25:59

我在VS2008同样的问题。将asp文件转换为ANSI编码(使用Notepad ++)解决了这个问题。

编码肯定存在问题。该文件在ANSI中,我转换为其他格式,然后又改回ANSI并解决了问题。要小心,因为你可能会丢失改变编码的特殊字符。

+0

我想补充说的是,还需要检查编码由'指令所包含的所有文件。 – 2012-01-17 13:50:07

这仍然发生在VS2010中。

我发现解决它的办法是选择Release vs Debug。重建项目。切换回调试和繁荣。

你们都重新同步了。

在我的情况下,它在源代码文件中是错误的lineends。 VS期望\ x0D \ x0A但我只有\ x0D。 在选项 - >环境 - >文档 - >行尾有一个设置(我不使用vs英文,所以我只能猜测)。检查这个选项解决了这个问题4我。

我有一个额外的;在我的文件之前发表评论。不知道这是如何导致这个问题,但删除它似乎解决了问题。

+1

年度最受欢迎的答案+1。 拥有80,000多行.c文件,并且在放置断点时,该程序将关闭数千行。它会逐步完成逻辑权限,但不会显示正确的位置。 寻找这些矿块 ; // 站在自己的地位,并解除它们。 – Sean 2016-11-07 21:23:39