我在C#中启动我的程序,然后调用一些非托管的C ++。
当我在非托管C ++中断行时,“新数据断点”菜单项显示为灰色。
到底有没有?
答案 0 :(得分:32)
为此,我必须:
yech
答案 1 :(得分:16)
要在混合模式流程的本机部分设置数据断点,请参阅answer posted by jyoung。
Visual Studio在运行纯粹的本机代码时禁用数据断点。有关VS计划管理员的部分解释,请参阅this帖子。
答案 2 :(得分:4)
建议的解决方案不会一直有效。即使在Native模式下调试时,如果程序在Native代码段中被破坏,当尝试设置'New Data Breakpoint'时,我会弹出 “无法设置断点。不支持数据断点公共语言运行时“
另一种方法是直接从代码中添加数据断点。请参阅文章here。
这在混合模式下运行良好,它只需要激活Native调试模式(如上所述)
答案 3 :(得分:2)
一个非常有用的技巧是在特殊条件下从代码中调用断点:
If (Condition)
System.Diagnostics.Debugger.Break()