2009-08-05 113 views
0

我想调试一个单元测试。当我走进类的代码时,我想测试VS2008显示反汇编而不是源代码。我在模块窗口检查,有问题的模块状态显示为“加载符号”所以一切看起来 OKVisual Studio调试错误?

该项目C#中,我使用的Visual Studio 2008 SP1,任何人有任何想法,这是使我抓狂!

回答

1

符号和源代码不是一回事。您需要将模块的源代码放置在构建机器上的同一磁盘上,或者设置源服务器:http://msdn.microsoft.com/en-us/magazine/cc163563.aspx

+0

显示反汇编如何?源服务器会这样做吗? – 2009-08-05 16:21:12

+0

对不起,我应该已经更清楚了......我有一个类库项目和测试项目,它引用类库作为项目参考,它们都在同一个VS2008解决方案中,所以我有源代码以及调试符号(pdb文件) – withakay 2009-08-05 16:53:15

+0

@withakay,这有点奇怪。我的猜测是引用可能会出错,您是否可以尝试删除并重新创建它? – Grzenio 2009-08-06 08:28:41

0

如果在源窗口中右键单击,将出现上下文菜单选项“转到反汇编”。这会告诉你你在找什么。虽然,通常大多数人倾向于问如何从反汇编,而不是如何从源代码中反汇编得到源代码! :)

@Grzenio是正确的,如果你有源代码和符号,仍然看到反汇编,有些是不合时宜的。

尝试检查全局程序集缓存(GAC)中的dll版本。您也可以通过检查已引用的任何自定义dll的属性来查找其他线索。特别是属性“特定版本”和“复制本地”。如果这些值中的任何一个为真,那么可能是该项目引用了一个GAC副本的依赖项dll。

+0

”通常大多数人倾向于问如何从反汇编中获得源代码,而不是如何从源代码中进行反汇编!:)“ 嗯,是的,这是我想要的: -/ – withakay 2009-08-19 09:27:03

+0

对不起,完全阅读障碍我的回应呢! :) – 2009-08-19 11:24:32

0

旧帖子,但最近有这个问题... 删除您想要从项目调用参考项目的引用。清理解决方案,重建所有内容(我喜欢在发生此问题时一次执行一个项目)。再次添加引用 - 确保您将引用添加为项目引用,而不是直接引用.dll。

您也可以尝试转到调试设置,并取消选中“调试时”下的“启用地址级调试”。一般。