我有一个C#/ NUnit测试调用使用英特尔C ++编译器编译的C ++库(版本12,我相信)。我有PDB,禁用'Just My Code',启用非托管代码调试。尽管如此,普通的调试并不起作用 - 它说它没有得到消息来源和提议。
此外:在处理此问题时,我经常遇到VS2010崩溃。
只是好奇是否有人遇到过这个问题。
答案 0 :(得分:1)
PDB文件需要位于加载程序集的同一目录中。 NUnit将测试dll复制到临时目录并从那里加载它 - 它是否复制了PDB。
检查的一种方法是使用ProcMon(可以显示所有文件访问)并过滤PDB文件,以查看它从哪里加载它。 ProcMon可从MS免费获得:
答案 1 :(得分:0)
没有神奇的解决方案。您需要源代码才能在源级别上逐步执行代码。
您应该能够逐步完成汇编代码,但根据您的ASM熟练程度,这可能不是很有帮助。 ;)
如果您无权访问源代码,您只需要尽力,调试可以看到的代码。