我有一个来自c ++的.dll,我想用C#调试它,但我不知道怎么做。
当我编译c ++项目时,Visual studio让我执行“.exe”。
我认为我必须创建一个执行dll的项目。
但是我输了,我怎么能调试它?
答案 0 :(得分:35)
如果我理解正确,你想在调用你创建的DLL的C#项目中调试你创建的C ++编码的DLL吗?
我之前已经通过进入C#项目属性,并在Debug部分下,选中了“启用非托管代码调试”复选框。这应该允许您进入C ++ DLL。
答案 1 :(得分:18)
要从C#调试C ++,您需要做几件事。
答案 2 :(得分:5)
Visual Studio无法自行执行dll。
您需要在dll项目的属性中设置将使用C ++ dll的启动.exe。你可以从属性 - >这样做。调试 - >命令指定将调用您的dll的可执行文件的路径以及所需的任何命令行参数。
答案 3 :(得分:2)
答案 4 :(得分:1)
对于VS 2017 Pro,请右键单击主项目(解决方案中的c#项目)的属性页。在“调试”菜单项上的“调试器引擎”中找到该选项,然后选择“启用本机代码调试”。
答案 5 :(得分:0)
答案 6 :(得分:0)
为了补充 heavyd 和 CCicotta 和 Noobie3001 的有用答案,在 Visual Studio 2017 中,当附加到调用 C++ DLL 的正在运行的 C# 进程时,我还必须更改以下内容:在 Debug > Attach to process ... 中,确保 Native code 由 Attach to:
答案 7 :(得分:0)