我正在使用Visual Studio 2010调试一个主要由C语言编写的应用程序。通常情况下,我可以成功地附加调试器,但当我链接一个使用C++/CLI编写的库时,我遇到了一些问题。
如果我使用
然后,如果我链接同样没有使用
我知道Visual Studio很可能无法调试使用C++/CLI编写的库,这没关系。我只想保留调试其余应用程序并至少查看对外部库的调用结果的能力。
另一个复杂因素是,这个项目并不是由Visual Studio构建的。它是使用外部make系统使用
有人知道为什么我无法按照自己想要的方式调试库吗?有什么建议可以提供吗?
如果我使用
/clr
标志编译库(对于这个尚未编写的库,我最终将不得不这样做),那么我将失去调试整个C应用程序的能力,即使与库调用无关的部分也是如此。我得到的是一个空圆圈,上面有黄色三角形和感叹号,而不是红色断点圆圈。悬停在它上面只会给我一个工具提示,说“当前不会触发断点。该行没有关联的可执行代码。可能的原因包括:条件编译或编译器优化。”然后,如果我链接同样没有使用
/clr
标志编译的库,我再次能够调试我的应用程序。我知道Visual Studio很可能无法调试使用C++/CLI编写的库,这没关系。我只想保留调试其余应用程序并至少查看对外部库的调用结果的能力。
另一个复杂因素是,这个项目并不是由Visual Studio构建的。它是使用外部make系统使用
cl
编译的,所以我可以通过这种方式自定义任何需要向编译器发出的命令。有人知道为什么我无法按照自己想要的方式调试库吗?有什么建议可以提供吗?