Dre*_*ate 3 c++-cli visual-studio-2010 visual-studio
我使用Visual Studio 2010的调试主要是用C编写的正常情况下,应用程序,我可以附加调试得很好,但我,当我在写在C++/CLI库链接到的一些问题在运行.
如果我编译与库/clr标志(我最终将不得不为此做尚未不成文库),那么我失去了调试整个C应用程序,甚至什么都没有做与库调用的部件全部能力.我得到了一个带有黄色三角形和感叹号的空心圆圈,其中应该有一个红色的断点圆圈.将鼠标悬停在它上面只给我一个工具提示,说"断点当前不会被命中.没有可执行代码与此行关联.可能的原因包括:条件编译或编译器优化."
然后,如果我编译完全相同的链接库没有的/clr标志,我又能够调试我的应用程序.
我知道visual studio不太可能调试用C++/CLI编写的库,这没关系.我只想保留调试应用程序其余部分的能力,至少看看我调用外部库的结果.
另一个复杂因素是该项目不是由visual studio构建的.它是使用外部make系统编译的cl,因此我可以自定义需要以这种方式发送给编译器的任何命令.
有谁知道我为什么不能按照我想要的方式调试库?我有什么建议吗?
您必须在附加时选择调试器类型.请注意对话框中的"附加到"标签.按"选择"按钮并勾选"Native"以获得对调试本机代码的支持.在任何断点可以命中之前,还需要加载DLL.如果您不确定是否已完成,请查看Debug> Windows> Modules调试器窗口以查看加载的DLL.一旦调试器看到DLL加载并设置了断点,断点指示器就会从空心变为纯红色.
否则,支持调试C++/CLI,您可以勾选"托管"和"本机"复选框.并在任何一种代码中设置断点.唯一不支持的是从托管代码到本机代码的单步执行.需要模式切换才能激活正确的调试引擎,这需要代码来命中断点.
并考虑本机项目中的Debug选项,您可以指定一个EXE来启动.因此,您只需按F5即可开始调试并跳过附加麻烦.
| 归档时间: |
|
| 查看次数: |
2725 次 |
| 最近记录: |