我在使用 Visual Studio 2010 Ultimate 时遇到了一个奇怪的问题:我的一个 Nunit(2.6.2) 测试用例在调试模式下失败但在运行模式下通过,就好像我们在这两种情况下的代码路径完全不同。
这是一个已知的错误?还是在我缺少的 vs 中有一些选项?
请赐教!非常感谢。
编辑 - 更多信息 我的应用程序向组织内的一群人编写的 dll 提交了一些请求。dll 进行一些计算并将结果返回给我。
在探索 dll 行为的测试用例中(例如,提交具有特定参数的请求,检查 dll 的输出),运行 Nunit 测试工作正常,但调试测试用例给我一个错误 - 从该 dll 中引发异常。
重要提示:运行/调试另一个测试用例会给我一致的结果。
所以,对于奇怪的测试案例: 1,要么dll是好的,调试模式下的东西破坏了dll 2,或者,dll有一个bug,这是由调试模式下的东西触发的。
据我所知,在 Visual Studio 中运行和调试一段代码的唯一区别在于,在调试时,会加载一个 pdb 文件,而在运行时却没有。本质上,加载一个符号表来识别代码执行。
那么这个问题首先没有意义 - 为什么加载符号表会影响 dll 的行为?(不看代码就要求任何人解释是不公平的;但是,由于是公司的prop.代码,我不能在这里展示。请,如果您在职业生涯中遇到过这样的事情,请与我分享你的情况发生了什么——希望我的问题有同样的原因,这样我才能真正知道出了什么问题。谢谢)