我在 C# 中启动我的程序,然后调用一些非托管 C++。
当我在非托管 C++ 中换行时,“新数据断点”菜单项显示为灰色。
有没有办法解决?
我在 C# 中启动我的程序,然后调用一些非托管 C++。
当我在非托管 C++ 中换行时,“新数据断点”菜单项显示为灰色。
有没有办法解决?
所以要做到这一点,我必须:
耶赫
要在混合模式进程的本机部分设置数据断点,请参阅jyoung 发布的答案。
运行纯本机代码以外的任何内容时,Visual Studio 都会禁用数据断点。有关VS 项目经理的部分解释,请参阅这篇文章。
建议的解决方案并非始终有效。即使在本机模式下调试时,程序在本机代码段中中断,当尝试设置“新数据断点”时,我也会弹出“无法设置断点。公共语言运行时不支持数据断点”
另一种方法是直接从代码中添加数据断点。请参阅此处的文章。
这在混合模式下效果很好,它只需要激活本机调试模式(如上所述)
一个非常有用的技巧是在特殊情况下从代码中调用断点:
If (Condition)
System.Diagnostics.Debugger.Break()