如何从托管代码调试到英特尔C ++库?

时间:2011-09-09 17:10:18

标签: c# c++ debugging unmanaged intel

我有一个C#/ NUnit测试调用使用英特尔C ++编译器编译的C ++库(版本12,我相信)。我有PDB,禁用'Just My Code',启用非托管代码调试。尽管如此,普通的调试并不起作用 - 它说它没有得到消息来源和提议。

此外:在处理此问题时,我经常遇到VS2010崩溃。

只是好奇是否有人遇到过这个问题。

2 个答案:

答案 0 :(得分:1)

PDB文件需要位于加载程序集的同一目录中。 NUnit将测试dll复制到临时目录并从那里加载它 - 它是否复制了PDB。

检查的一种方法是使用ProcMon(可以显示所有文件访问)并过滤PDB文件,以查看它从哪里加载它。 ProcMon可从MS免费获得:

http://technet.microsoft.com/en-us/sysinternals/bb896645

答案 1 :(得分:0)

没有神奇的解决方案。您需要源代码才能在源级别上逐步执行代码。

您应该能够逐步完成汇编代码,但根据您的ASM熟练程度,这可能不是很有帮助。 ;)

如果您无权访问源代码,您只需要尽力,调试可以看到的代码。