【发布时间】:2010-11-06 23:14:09
【问题描述】:
我有一个来自 c++ 的 .dll,我想在 C# 中调试它,但我不知道怎么做。
当我编译 c++ 项目时,Visual Studio 要求我执行一个“.exe”。
我想我必须创建一个项目来执行 dll。
可是我迷路了,怎么调试呢?
【问题讨论】:
标签: c# c++ visual-studio debugging dll
我有一个来自 c++ 的 .dll,我想在 C# 中调试它,但我不知道怎么做。
当我编译 c++ 项目时,Visual Studio 要求我执行一个“.exe”。
我想我必须创建一个项目来执行 dll。
可是我迷路了,怎么调试呢?
【问题讨论】:
标签: c# c++ visual-studio debugging dll
如果我对您的理解正确,您想在调用您也创建的 DLL 的 C# 项目中调试您创建的 C++ 编码的 DLL?
我之前通过进入您的 C# 项目属性并在“调试”部分下选中“启用非托管代码调试”复选框来完成此操作。这应该允许您进入您的 C++ DLL。
【讨论】:
要从 C# 调试 C++,您必须做几件事。
【讨论】:
Visual Studio 无法自行执行 dll。
您需要在 dll 项目的属性中设置将使用 C++ dll 的启动 .exe。您可以通过 properties --> debugging --> command 指定将调用您的 dll 的可执行文件的路径以及所需的任何命令行参数。
【讨论】:
对于 VS 2017 Pro,右键单击主项目(解决方案中的 c# 项目)的属性页。在“调试”菜单项中,找到“调试器引擎”中的选项,选择“启用本机代码调试”。
【讨论】:
为了补充 heavyd 和 CCicotta 和 Noobie3001 的有用答案,在 Visual Studio 2017 中,当附加到调用 C++ DLL 的正在运行的 C# 进程时,我还必须更改以下内容:在 Debug > 附加到进程...,确保本机代码由附加到:
列出【讨论】:
【讨论】: