2

我使用 VS2010 作为我的 vb.net 编译器,但有时我在调试时无法查看局部变量。

实际上,当我将本地变量添加到监视窗口时,它会说:

'sm' is not declared. It may be inaccessible due to its protection level.

'sm' 是我的局部变量,已在我的例程中声明。

这是我的一些简单代码片段:

Public Sub Calculate()
    Dim sm As String        
    Dim c(2) As Byte
    c(0) = 49
    c(1) = 85
    c(2) = 121
    sm = Encrypt_Str(c)
    '...
    '...
End Sub

好吧,我不能在下线后看“sm” sm = Encrypt_Str(c)。这是什么原因造成的?

4

4 回答 4

1

对我有用的是进入项目属性,选择“调试”选项卡,然后勾选“启用 Visual Studio 托管进程”框。

于 2012-08-16T12:06:52.343 回答
0

如果你正在使用类似的东西

For Dim i as Intenger To something
  //Do something
Next i

something() //You are debuging here

该变量不会出现在 Watch 上,因为它只存在于该代码块中。但也只是猜测。如果您发布一些代码,我会更好

于 2011-08-14T05:19:56.160 回答
0

我看不到我的任何控件/变量.. 清理并重建,但这也没有帮助,我在配置管理器中创建了一个新配置并复制了我的调试设置,瞧,我的手表又像时钟一样工作了;)

问候,

麦克风

于 2012-01-20T09:33:02.237 回答
0

我最近在 Visual Studio 2013 中遇到了完全相同的问题。我在类后面的 ASP.NET 代码中调试 VB.NET 代码。我可以断点,跳过并进入语句,但尝试查看/观察变量会导致该错误:

'myvar' is not declared. It may be inaccessible due to its protection level.

对我有用的是:

  1. 清理整个解决方案 - 因此,右键单击解决方案资源管理器窗口中的解决方案,然后选择清理解决方案。
  2. 重建解决方案。
  3. 在调试模式下运行 - 现在可以查看/观察变量。

快乐编码。

于 2015-12-01T01:30:18.447 回答