首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在混合( C#/C++ )调试中设置数据断点?

如何在混合( C#/C++ )调试中设置数据断点?
EN

Stack Overflow用户
提问于 2008-10-28 21:39:29
回答 3查看 12.9K关注 0票数 22

我在C#中启动我的程序,然后它调用一些非托管C++。

当我在非托管C++中的行断开时,“新建数据断点”菜单项显示为灰色。

有没有什么办法解决这个问题呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-28 14:27:41

若要在混合模式进程的本机部分设置数据断点,请参见answer posted by jyoung

Visual Studio在运行纯本机代码以外的任何代码时都会禁用数据断点。有关VS程序管理器的部分解释,请参阅this post。

票数 16
EN

Stack Overflow用户

发布于 2016-01-11 01:27:16

一个非常有用的技巧就是在特殊情况下从代码中调用断点:

代码语言:javascript
复制
If (Condition)
    System.Diagnostics.Debugger.Break()
票数 2
EN

Stack Overflow用户

发布于 2022-02-15 01:42:44

另一种方法是附加到进程。

在没有调试器的情况下正常构建和运行你的软件。

然后在Visual Studio中,在顶部菜单中的“Debug/ Attach to process”中,找到该进程,并在列表中选择它。然后,在“附加到”面板的右侧,单击“选择…”按钮,单击“调试这些代码类型”单选按钮,取消选中除Native之外的所有内容,单击OK,然后单击Attach。

然后使用Debug / break All命令中断执行,或者在应用程序的C++部分中找到一个正常的断点。然后,您将能够使用数据断点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/243347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档