我在C#中启动我的程序,然后它调用一些非托管C++。
当我在非托管C++中的行断开时,“新建数据断点”菜单项显示为灰色。
有没有什么办法解决这个问题呢?
发布于 2008-10-28 14:27:41
若要在混合模式进程的本机部分设置数据断点,请参见answer posted by jyoung。
Visual Studio在运行纯本机代码以外的任何代码时都会禁用数据断点。有关VS程序管理器的部分解释,请参阅this post。
发布于 2016-01-11 01:27:16
一个非常有用的技巧就是在特殊情况下从代码中调用断点:
If (Condition)
System.Diagnostics.Debugger.Break()
发布于 2022-02-15 01:42:44
另一种方法是附加到进程。
在没有调试器的情况下正常构建和运行你的软件。
然后在Visual Studio中,在顶部菜单中的“Debug/ Attach to process”中,找到该进程,并在列表中选择它。然后,在“附加到”面板的右侧,单击“选择…”按钮,单击“调试这些代码类型”单选按钮,取消选中除Native之外的所有内容,单击OK,然后单击Attach。
然后使用Debug / break All命令中断执行,或者在应用程序的C++部分中找到一个正常的断点。然后,您将能够使用数据断点。
https://stackoverflow.com/questions/243347
复制相似问题