在C#中调试c ++ dll

34 c# c++ debugging dll exe

我有一个来自c ++的.dll,我想用C#调试它,但我不知道怎么做.

当我编译c ++项目时,Visual studio让我执行".exe".

我以为我必须创建一个执行dll的项目.

但是我输了,怎么能调试呢?

CCi*_*tta 36

如果我理解正确,你想在调用DLL的C#项目中调试你创建的C++编码的DLL,你也创建了它?

我之前已经通过进入C#项目属性,并在Debug部分下,选中"启用非托管代码调试"复选框.这应该允许您进入您的C++ DLL.

  • 此外,在Visual Studio 2012中,我发现了一个名为"启用本机代码调试"的选项 (7认同)

hea*_*vyd 19

要从C#调试C++,您需要做几件事.

  1. 为您的调试应用程序添加一个C#项目解决方案.
  2. 在项目属性的"调试"选项卡上将C#项目的属性编辑为"允许非托管代码调试".
  3. 将C++项目设置为C#项目的依赖项.
  4. 在C#项目中编写代码以使用P/Invoke或COM来使用DLL.
  5. 在C++代码中设置一些断点并运行C#项目.


Joh*_*dol 5

Visual Studio无法自行执行dll.

您需要在dll项目的属性中设置将使用C++ dll的启动.exe.您可以从属性 - > debugging - >命令执行此操作,该命令指定将调用您的dll的可执行文件的路径以及所需的任何命令行参数.


Noo*_*001 5

我在 Visual Studio 2019 中通过选择“启用本机代码调试”克服了这个问题,如我的 C# 项目属性下所示。

在此处输入图片说明