使用Visual Studio 2010和VB.NET进行调试:由于保护级别的原因,立即失败
在调试期间,当我使用Immediate命令时,使用Visual Studio 2010时,每天发生的次数非常频繁,如: ??命名变量 我收到以下错误: 未声明“NamedVariable”。信息技术 由于其自身的原因,可能无法访问 保护级别 在本例中,其他调试功能似乎也消失了,但我可以设置断点、单步执行、单步执行等 解决方案是停止调试,清理并重建项目,然后重试。 我正在开发一个VB.NET Windows窗体应用程序,但它也发生在VB.NET WPF项目中。我在VS 2008中从未有过这种行为使用Visual Studio 2010和VB.NET进行调试:由于保护级别的原因,立即失败,vb.net,visual-studio-2010,debugging,Vb.net,Visual Studio 2010,Debugging,在调试期间,当我使用Immediate命令时,使用Visual Studio 2010时,每天发生的次数非常频繁,如: ??命名变量 我收到以下错误: 未声明“NamedVariable”。信息技术 由于其自身的原因,可能无法访问 保护级别 在本例中,其他调试功能似乎也消失了,但我可以设置断点、单步执行、单步执行等 解决方案是停止调试,清理并重建项目,然后重试。 我正在开发一个VB.NET Windows窗体应用程序,但它也发生在VB.NET WPF项目中。我在VS 2008中从未有过这种行为
这是一个已知的错误,还是我的环境/安装有问题?您是否知道如何解决这个小而烦人的问题?请尝试,确保显示包含变量的代码文件,并且光标位于变量的相同范围内
尝试删除解决方案的用户选项文件(suo)。您将丢失设置,例如书签、断点和其他用户解决方案设置。我也经常会遇到这种情况。到目前为止,我发现的唯一解决方案是: 解决方案是停止调试,清理并重建项目,然后重试 删除suo文件没有帮助。它可以发生在代码中的任何地方,而且似乎并不取决于代码本身 我认为这主要发生在我在调试期间修改了一些代码之后,或者在调试之前进行了很多小的更改和构建之后。 在某些部分构建过程中,调试信息可能会“丢失”或“未同步”
我认为这是VisualStudio的一个bug,有望很快在ServicePack中得到修复。注意,这通常会发生在一些“带变量…”的代码块中
在这种情况下,将“With variable”替换为临时变量,问题可能会得到解决。我在一个类中遇到过这个问题,它似乎只存在于类中的一个方法中 我试过
- 清理与重建
- 删除suo文件
- 重新创建攻击性类文件
- 修复Visual Studio(2010 SP1)
不知道为什么会发生这种情况,我想这只是一个bug,但这对我来说很有效,所以我想我会把它传下去。这个问题与
.aspx.desginer.vb
中对象的定义有关(其中
是表单的名称)。
要更正此错误,请尝试
在右侧的“解决方案资源管理器”选项卡上,单击第二个按钮(显示所有文件)。转到并展开以查看子文件。应该有一个
.aspx.desginer.vb
。打开.aspx.desginer.vb
,您将看到所有表单对象的定义,例如protectedwithevents submitButton,即Global.System.Web.UI.WebControls.Button
。为对象添加定义。我无法查看任何控件/变量。。
第一次创建一个新的配置成功了,但“今天”我遇到了同样的问题,让我疯狂了好几个小时。。
这一切归结为“调试-窗口-模块”
检查是否加载了正确的pdb文件/pdb文件位置,我的是指一个模糊的文件夹,我怀疑这是我无法观看/查看道具和变量的原因。。
我右键单击问题行并尝试将其指向正确的文件夹/pdb文件,但随后我得到:
在此文件夹中找不到匹配的符号文件
我删除了资源管理器中的所有生成文件夹,重新生成并将我的XAP文件“Debug-Windows-Modules-Load symbols”指向右侧的pdb文件
问候,
迈克我想我加了2美分。我在调试lambda时体验到了这一点。举个简单的例子
Dim A As String = "A"
Dim B As String = "B"
Dim Test = Function(C As String) As String
Return C & A
End Function
Debug.Print(Test("Test "))
在
Return C&a
语句上放置一个断点,可以检查B,因为它在闭包中的作用域中。但是在即时窗口中尝试此操作,您将得到'B'未声明。由于其保护级别,可能无法访问它。
错误。原因是测试函数中没有使用它。您需要实际使用test函数中的某个地方的变量,以便在调试时能够看到它 我也有同样的问题。我试图在即时窗口中测试一个子例程,但一直出现这个错误
一种解决办法是:
适用于VS 2008(可能适用于其他版本)