摆脱“当前位置没有可用的源代码。”

时间:2008-11-24 14:44:04

标签: visual-studio debugging message debug-symbols step-into

好吧,这是我自己的错,但我似乎无法拯救自己。

每当我尝试进入一个具有调用.NET代码的赋值字段的类时,我会得到一个对话框,其中包含“没有可用于当前位置的源代码”的文本。:

Screenshot of error message

例如,单步执行以下类的构造函数会给我上面的消息:

public class Test
{
    private Stack<String> _Dummy = new Stack<String>();
    public Test() { }
}

我认为这是因为在某些时候我摆弄了符号服务器的设置,但无论我现在摆弄什么,我似乎都无法摆脱那条消息。

我的愚蠢在哪里忘记了它的作用?


我当前的options摘要:

  • []启用地址级调试
  • [x]启用我的代码(仅管理)
  • []启用.NET框架源步进
  • []启用源服务器支持
  • 符号文件.pdb位置 - 空
  • 将符号服务器中的符号缓存到此目录:C:\ temp(空)

16 个答案:

答案 0 :(得分:27)

查看是否意外排除了某些源文件。执行解决方案的属性并查看Common Properties下的Debug Source Files部分。

答案 1 :(得分:25)

在解决方案资源管理器中,检查公共属性调试源文件下的解决方案属性页。如果您看到“不要查找这些源文件:”下面列出的程序集,请将其删除,问题就会消失。

打开解决方案属性页

Screenshot of right clicking on the solution in Visual Studio's Solution Explorer

选中“不要查找这些源文件”

Screenshot of the solution property pages in Visual Studio solution

答案 2 :(得分:12)

如果您不想调试.NET程序集,快速修复以避免“当前位置无可用内容”问题是取消选中“要求源文件与原始版本完全匹配”复选框下的工具 - &gt;选项 - &gt;调试 - &gt;一般

答案 3 :(得分:4)

如果您不希望出现这个烦人的标签,可以尝试我创建的这个加载项: http://erwinmayer.com/labs/visual-studio-2010-extension-disable-no-source-available-tab/

可直接在Visual Studio库中下载: http://visualstudiogallery.msdn.microsoft.com/en-us/fdbb2036-471e-40a7-b20e-31f8fd5578fa

答案 4 :(得分:4)

以下是我为解决这个问题所做的工作。首先,停止调试,只需在VS中打开解决方案。接下来,确保您的解决方案配置设置为Debug而不是Release。然后简单地做一个Rebuild(不是Build,Rebuild)。下次启动调试器时,它应该正常运行,您不应该收到该错误消息。

希望这有帮助!

答案 5 :(得分:2)

检查您的项目是否有项目引用,而不是DLL引用!如果存在DLL引用,则引用的项目将无法识别您的更改,并且您将收到类似于您的错误消息。

答案 6 :(得分:2)

这个错误也让我发疯了。我正在使用'AjaxControlToolkit',并使用'Add Reference'将其引用到我的项目中。

我删除了'AjaxControlToolkit'参考,并添加了与'添加现有项'相同的内容,之后我没有任何问题......

答案 7 :(得分:2)

我在非托管C ++程序中遇到了同样的问题:当调试器在main函数中时,它总是显示“没有源代码可用”,有趣的是,此文件中的其他函数显示没有问题。在这种情况下,问题是我在堆栈上分配了太多数据。减少它后,调试器开始工作没有问题。

是在Visual Studio 2010中。

答案 8 :(得分:2)

一种方法,也适用于Visual Studio的Express Edition(例如,Visual Basic 2005 Express Edition),是重命名.suo文件。它与解决方案文件.sln位于同一文件夹中。在重命名文件之前退出Visual Studio。

Screenshot of Windows Explorer with a .suo file highlighted

.suo文件包含非关键设置,例如窗口位置等。但是,它还包含所有断点,这就是为什么重命名它可能比删除它更好,以防这个操作被遗憾。

答案 9 :(得分:1)

这就是我解决它的方法。

右键单击您的项目 - &gt;属性 - &gt;编译 - &gt;高级编译选项......

然后从下拉菜单中将“生成调试信息”设置为“完整”。

希望有所帮助。

答案 10 :(得分:0)

这对我有用:

  1. 检查引用的* .DLL
  2. 的属性页面上的“启用非托管代码调试”
  3. 重新编译引用的* .DLL
  4. 删除然后将引用的* .DLL重新添加到项目中

答案 11 :(得分:0)

您是否尝试构建该页面?我遇到了与AjaxControlToolkit类似的问题:Modal Popup Extender。直到我给它CSS和ASP.NET控件之后才显示它。

答案 12 :(得分:0)

我出于某种原因禁用了VS 2017中的所有Common Language Runtime Exceptions

要解决此问题,请打开调试&gt;下的Exception Settings。 Windows&gt;异常设置并在Exception Settings窗口中标记共同语言运行时例外

复选框

答案 13 :(得分:0)

我遇到了同样的问题,它告诉我错误是在AjaxControlToolkit上,但是问题出在我的HTML语法中,尤其是在div标签中,我只放置了close标签”,而没有打开标签

答案 14 :(得分:0)

由于测试项目的框架版本和主要项目之间的差异,我遇到了这个问题。升级主要项目框架版本时,请确保不要忘记升级测试项目。

答案 15 :(得分:-1)

我遇到了同样的问题,我以这种方式解决了它(Visual Studio 2008):

“Formato de la informacion de depuracion”to“Base de datos de programa(/ Zi)”

Enter image description here