首页 文章

VS 2010调试器在连接到NUnit时不加载符号

提问于
浏览
15

(我刚刚在groups.google.com上的NUnit讨论组中发布了这个)

在VS 2008下,我会在NUnit下运行我的测试,如果我需要调试,我会将VS2008调试器附加到正在运行的Nunit进程(Debug - > Attach to Process),并在我想要检查的代码上设置任何断点 . 当我在NUnit中点击Run buttion时,它会触及断点 . (顺便说一句,如果重要的话,这是运行NUnit 2.5.2) .

我刚刚升级到NUnit 2.5.4和VS 2010.当我设置断点,然后连接到NUnit时,我在断点上得到一个小警告符号,并将鼠标悬停在它上面给出工具提示“断点不会被击中 . 没有符号目前正在加载“ . 转到Debug - > Windows - > Modules窗口显示加载了一大堆Windows和NUnit模块,符号状态为“Skipped loading symbols”,然后是1个模块,每个模块都有一个有趣的名称(r1euhmh5)和“无符号加载”的符号状态 . (没有像我正在测试的DLL那样具有远程名称的模块的痕迹) .

右键单击有趣的文件名(假设是我测试中的DLL的一些映射),然后单击Load Symbol From From - > Symbol Path,导航到bin \ debug文件夹,然后单击我测试的DLL的pdb文件,I收到消息“在此文件夹中找不到匹配的符号” . (“打开”对话框的顶部有一行显示“原始位置:r1euhmh5.pdb”)

那么改变了什么?而且我怎么去调试/下VS 2010 / NUnit的2.5.4设置断点(或者是有可能我搞砸了的东西的时候,我决定通过我的VS2010选项,并设置它们中的一些更先进的水平比我知道我是什么在做什么?)

我感谢任何帮助 .

2 回答

  • 9

    关于如何告诉NUnit在nunit.exe配置文件中使用正确的.Net框架,有关于此blog post的信息 .

    在配置文件中修复它的好处是,它允许您设置单元测试项目,以便在选择Debug - > Start New Instance时可以将NUnit作为外部命令启动 .

  • 5

    我'm not sure I understand exactly why, but the answer is to attach the debugger to nunit-agent.exe instead of nunit.exe. See Charlie Poole'的回复here

相关问题