[英]How to debug the c++ dll from c# project?
我创建了一个visual c++ 6.0 dll
项目,并使用我的c#
代码。 现在我想调试dll
但我无法做到。
我选择以下选项来执行此操作:
visual c++
项目代码中。 c#
项目目录中。 c#
项目并且dll工作正常(方法调用完美)。 dll
。 c++
项目,然后从vc++
选择Attach to process
。 visual c#
project的运行过程,而在任务管理器进程中可以找到它。 在我的c#
项目解决方案中,我有两个项目即
webform application
。 现在请帮助我如何调试我的DLL。 我已经关注了很多博客,但他们都专注于Attaching process
方法,这种方法在我的条件下无效。 我该怎么办?
您需要启用非托管调试,在任一情况下都不会打开它,因为您的主程序是受管理的。
您可以在C#项目中使用Project> Properties> Debug选项卡>勾选“启用非托管代码调试”复选框。
您可以通过单击“选择”按钮,使用“工具”>“附加到进程”来执 选择“调试这些代码类型”单选按钮并勾选Managed和Native。 如果您的进程是64位,则可能不得不求助于本机。
在DLL的源代码中设置断点,并确保编写运行DLL函数的C#代码。 如果仍然无法获得断点,请使用Debug> Windows> Modules并验证您是否在模块列表中看到DLL。 通过右键单击获取其他疑难解答信息,选择符号加载信息。 其中显示了调试器查找PDB文件的位置。
您可以将C ++项目添加到C#解决方案并直接向项目添加引用(而不是dll),然后您将不需要复制DLL。 之后,只需启动C#项目的正常调试(F5),断点也将适用于C ++项目。 这种方式非常适合调试。 我尝试过这样的调试,并没有改变任何其他设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.