调试 native (ANSI C DLL)和托管(C# 汇编)代码

标签 debugging visual-studio-2010 dll native managed

我在调试同时包含 native ANSI C DLL 项目和托管 C#/WPF 应用程序项目的解决方案时遇到一些问题。

我使用 LoadLibrary/GetProcAddress Win32 API 函数调用 DLL 导出的函数(DllImport 属性不适用于我的程序,因为 DLL 是由用户选择的)。这两个项目都是使用调试配置构建的。将 native DLL 复制到 C# 程序的 bin/Debug 目录中。当我调试 C# 项目时,无法单步执行 native 代码。

有没有办法进入 native 代码?

当我使用 C# 程序调试 DLL 项目时它可以工作,但随后我无法进入托管代码...

我使用的是 Visual Studio 2010 Professional 和 Visual Studio 2010 Ultimate。

LG, 多米尼克

最佳答案

在您的 C# 项目中:“项目 + 属性”、“调试”选项卡,勾选“启用非托管代码调试”。从托管代码单步执行到非托管代码是行不通的。您需要在要调试的DLL函数上设置断点。

关于调试 native (ANSI C DLL)和托管(C# 汇编)代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3564591/

相关文章:

python - Pycharm 调试器,作为数组选项查看

debugging - nx 构建命令失败,类型错误 : Cannot read properties of undefined (reading 'cloud' )

c - 错误 C2143 : syntax error : missing ';' before 'type'

C#将方法名称传递给带有变量的参数化threadstart

c# - 指定要使用的 MSDataSetGenerator 工具版本?

c# - 更好地引用 DLL 或具有多项目解决方案?

visual-studio - VSHost崩溃,REGDB_E_INVALIDVALUE加载特定项目

c++ - GUI 调试器和终端调试器之间的区别

c# - 需要合并 Dll 并创建单个程序集

dll - Wix 将程序集安装到 GAC