【问题标题】:Weird debugging situation: "There is no source code available for the current location"奇怪的调试情况:“当前位置没有可用的源代码”
【发布时间】:2009-10-21 14:00:26
【问题描述】:

我在用 VB.NET 2003(遗留代码)编写的单个项目中有一个 Windows Forms 应用程序。有一个 MainForm 和一个由 MainForm 运行的 SecondaryForm。当我通过 MainForm 运行应用程序时,我可以毫无问题地进行调试。

但是,如果我只运行 SecondaryForm,我会收到调试错误:

当前位置没有可用的源代码

跨步时:

_routeId = CInt(myVar)

此时我无法再通过我的代码窗口进行调试,但我必须使用反汇编代码。

为什么会发生这种情况,我该如何解决?

【问题讨论】:

  • 正如我在下面所说的,两个 WinForm 都在同一个项目中,那么为什么它们的引用会有所不同呢?这就是让我困惑的地方!?!?是否有忽略此类问题的设置?
  • 请关闭,已经一个多月了...
  • 吉姆,问题解决了吗?如果是这样,您可以将解决方案作为答案发布并接受吗?如果没有,我们可以让它保持开放状态,也许其他人会在未来某个时候找到解决方案

标签: vb.net winforms debugging visual-studio-2003


【解决方案1】:

我的问题是 Step-Into 类型的。我可以很好地进入用户控件中的过程,但是当遇到它的 End Sub 并且我要离开那个 Sub 时,我会得到“当前位置没有可用的源代码”。错误页面。

个人为我工作的解决方案是:在“项目属性”页面的“调试”下,取消选中“启用非托管代码调试”。

【讨论】:

    【解决方案2】:

    我已经多次看到这个问题......而且通常它是一个参考问题。是您的代码“无源”还是 Microsoft 代码?您是否安装了多个版本的 .NET Framework?

    仔细检查您的参考资料。

    【讨论】:

    • 是的,我安装了多个版本的 .NET 和 VS。而且,它是微软代码“CInt()”。但是,引用点对于同一个项目中的 2 个 winform 没有意义,因为它们应该使用相同的引用。
    • 你有没有在 VS 中设置过使用微软调试符号的选项?
    • 我可能有。是VS 2003,所以我用的不多。你能给我更多的细节,我会检查?
    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多