Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 消失符号的情况_Debugging_Visual Studio 2012_Debug Symbols - Fatal编程技术网

Debugging 消失符号的情况

Debugging 消失符号的情况,debugging,visual-studio-2012,debug-symbols,Debugging,Visual Studio 2012,Debug Symbols,我有一个包含几个项目的单一解决方案,但现在只运行两个。 项目1在发布模式下作为windows服务运行,但在调试模式下作为控制台应用运行。项目2是一个MMC管理单元(输出类型=类库)。他们通过WCF进行通信 时间A 当我昨天在一个新的构建之后第一次开始调试时,我的callstack窗口显示: lines in service... [External Code] --Transition from Client to Server -- lines in client... 我可以双击任意一行转

我有一个包含几个项目的单一解决方案,但现在只运行两个。 项目1在发布模式下作为windows服务运行,但在调试模式下作为控制台应用运行。项目2是一个MMC管理单元(输出类型=类库)。他们通过WCF进行通信

时间A

当我昨天在一个新的构建之后第一次开始调试时,我的callstack窗口显示:

lines in service...
[External Code]
--Transition from Client to Server --
lines in client...
我可以双击任意一行转到该行。我可以在任何一个项目中设置断点,它们都会被击中

时间B(当天晚些时候)

我开始在客户端(项目2)的断点上看到标志,指示“当前不会命中断点。源代码与原始版本不同”,尽管我刚刚重建了所有项目。我做了一些代码更改,但(据我所知)没有项目或构建更改。我做了一个“干净”的解决方案,但没有帮助。调用堆栈的工作方式与时间A期间相同

时间C(第二天——今天上午)

我重启了。我删除了所有的obj和bin目录。我重新构建了整个解决方案,并启动了新的解决方案,希望新的开始能够改善这种情况。现在情况更糟了。断点标记为“当前不会命中断点。尚未为此文档加载任何符号”。调用堆栈已降级为将客户端显示为外部代码:

lines in service...
[External Code]
--Transition from Client to Server --
[External Code]
  • 如果我在调用堆栈中选择“显示外部代码”(show external code),它会列出来自客户端程序集的行(当然与系统程序集混合),但所有行都会变灰。在模块窗口(调试>>窗口>>模块)中,未列出客户端程序集
  • 如果我从调用堆栈中的一行选择符号加载信息,它会显示5个不同位置的“找不到或打开PDB文件”,最奇怪的是在我的项目的obj/Release目录下——而不是obj/Debug目录下——即使我的项目设置为Debug配置
  • 如果我从调用堆栈中的一行选择加载符号,然后在我的obj/Debug或bin/Debug目录中选择pdb文件,它会报告“在此文件夹中找不到匹配的符号文件”
  • Configuration manager显示所有项目都设置为调试配置,并且所有项目都包含在生成中

我已经复习了类似的SO问题,这些问题帮助我找到了以上所有需要检查的东西,但还没有找到任何与我的情况相关的押韵或理由


如何将VisualStudio从精神错乱中拯救出来,并恢复丢失的符号

好的,Visual Studio,正如我所预料的,是我,不是你。您通过各种各样的[客户机]继续显示您对[功能]的坚定支持。我们还能成为[虚拟]朋友吗?这可以归结为我们文化的差异。我以表面价值看待事物;你喜欢把自己埋在注册表数据中,忽略我的MMC管理单元代码,它就在你面前喊着“我在这里,我在这里!”

我在这里

我的意思是,仅仅因为它没有取代你上一次的关系,是不是有任何理由去挖掘过去,把那些被遗忘已久的代码带到表面,让dll永远与pdb分离?显然你这么认为。是的,有麻烦了!我只是不明白你的意思,但现在我明白了

哦,是的;现在我知道了