【问题标题】:How to make Visual Studio ask for the source path after I get: "There is no source code available for the current location."在我得到:“当前位置没有可用的源代码”后如何让 Visual Studio 询问源路径。
【发布时间】:2011-05-18 12:44:37
【问题描述】:

有时,在调试模式下,我尝试在调用堆栈的某个级别查看代码,但出现错误:

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

我知道这意味着什么。如果我知道文件在哪里,如何将源文件提供给 Visual Studio?

第一次,它给了我一个用于搜索的浏览窗口,但此时我没有代码。当我从 SVN 下载它并尝试(重新启动整个计算机后)再次访问代码时,我得到了错误。

请不要向我解释 Visual Studio 找不到该文件,因为它提供了反汇编,我知道。我搜索了将文件提供给它的选项。

【问题讨论】:

    标签: visual-studio debugging


    【解决方案1】:

    在 Visual Studio 中(至少从 v.2005 开始),您必须检查解决方案属性:

    在解决方案资源管理器中,右键单击 Solution -> Properties -> Common Properties -> Debug Source Files

    这里有一个列表:“不要查找这些源文件:” - 从该列表中删除(所有)条目,然后 VS 应该再次询问您的源路径。

    这是 VS 2013 Express 的截图:

    【讨论】:

    • 在 VS2010 中,这不起作用。选项在那里,对话框看起来一样,但它会忽略条目并且仍然会使用错误的源代码。我必须重新启动 Visual Studio 并从调试时弹出的对话框中进行选择才能更改此设置。
    • @ehambr - 我很确定我在 VS2010 中也这样做了。
    • 这里也一样。在 VS2010 中,一旦 VS 加载了“坏”的源文件,它就需要重新启动。
    • 在 VS2015 中呢?这个对话框现在看起来完全不同了,并给出了一个项目列表。
    【解决方案2】:

    对于我来说,上述步骤在 VS 2013 中都无法正常工作。

    从解决方案->属性->通用属性->调试源文件列表中删除不正确的源路径后,关闭Visual Studio的所有实例,每次我运行并进入代码时,我会看到一个文件对话框会弹出并消失,然后 VS 会再次进入不正确的源位置。

    经过多次尝试,我使用十六进制编辑器进行 Unicode 字符串搜索,发现问题路径仍在我的解决方案的 .suo 文件中。删除该文件仍然没有解决问题。

    最后,我再次打开解决方案,转到解决方案 -> 属性 -> 通用属性 -> 调试源文件列表并将错误的源位置更改为正确的位置(即,而不是删除它)。然后我 Ctrl+Shift+S 保存所有,退出 VS,再次启动 VS 并开始调试会话。这次它进入了正确的代码。

    因此,如果上述方法对您不起作用,则 VS 2013 中存在一个问题,它缓存了阻止删除工作的路径,您必须更改现有路径。

    【讨论】:

    • 哇。 “编辑现有”是唯一对我有用的东西。他们在哪里缓存它???我删除了这条线,suo,重新启动,一切,就像弗雷迪克鲁格一样,不断回来。
    【解决方案3】:

    如果我没记错的话,如果您在第一次查找源代码时失败了,这些模块将被添加到排除模块列表中。

    转到工具 -> 选项 -> 调试 -> 符号。在“所有模块,除非排除”下,有一个链接按钮“指定排除的模块”。打开那个对话框,我想你会在那里找到你的模块。

    【讨论】:

    • 你指的是哪个VS版本?
    猜你喜欢
    • 2010-09-23
    • 2018-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    相关资源
    最近更新 更多