我使用Visual Studio 2010来调试主要是用C编写的正常情况下,应用程序,我可以附加调试得很好,但我在一些问题上运行当我链接到用C++/CLI编写的库时。调试用C++是C可执行 - CLI库编译/ CLR
如果我编译与/clr
标志(我最终将不得不为此做尚未不成文库)的库,然后我失去了调试整个C应用程序的所有功能,甚至什么都没有做的部分图书馆电话。我得到了带有黄色三角形和感叹号的空圈,其中有一个红色的断点圆应该是。将鼠标悬停在它上面只能提供一个工具提示:“断点当前不会被触发,没有可执行代码与此行关联,可能的原因包括:条件编译或编译器优化。”
然后,如果我链接完全相同的库编译没有/clr
标志,我再次能够调试我的应用程序。
据我所知,Visual Studio将不太可能能够调试用C++/CLI库,那就是确定。我只想保留调试应用程序其余部分的功能,并且至少可以查看我对外部库调用的结果。
另一个复杂的因素是该项目不是由visual studio构建的。它使用一个使用cl
的外部make系统编译,所以我可以自定义任何需要以这种方式发布到编译器的命令。
有没有人知道为什么我目前不能按照我想要的方式调试库?任何建议如何我可以?
非常感谢您的回答。就是这样。我从来没有意识到有不同类型的调试器。 – Drewmate 2012-04-18 20:30:56