gpt4 book ai didi

c# - 无法从 C# 调试非托管 Dll

转载 作者:IT老高 更新时间:2023-10-28 12:38:50 26 4
gpt4 key购买 nike

我有一个用 C++ 编写并从 C# 应用程序调用的 DLL。 DLL 是非托管代码。

如果我将带有构建后事件的 DLL 及其 .pdb 文件复制到 C# 应用程序的调试执行 dir 我仍然无法在 DLL 代码中设置任何断点。断点附有一条消息,指出“没有为此文档加载任何符号”。

我还需要做什么才能在 dll 源中进行调试?

我有“Tools->Options->Debugging->General->Enable 只有我的代码”已禁用。DLL 正在使用“运行时跟踪和禁用优化 (/ASSEMBLYDEBUG)”进行编译,并将调试信息生成为“是 (/DEBUG)”

最佳答案

要调试到您的 C++ DLL,您需要在解决方案中的启动应用程序上启用混合模式调试。

  • 右击项目 -> 属性
  • 转到调试选项卡
  • 勾选“启用非托管代码调试”

这将允许您为 F5 风格的场景调试 native 代码。如果要启用它以附加到进程,请在“附加到进程”对话框中执行以下操作

  • 选择要调试的进程
  • 点击进程列表上方的“选择...”按钮
  • 点击“调试这些代码类型”
  • 检查托管和 native

关于c# - 无法从 C# 调试非托管 Dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com