gpt4 book ai didi

c# - 如何附加调试器以从托管(C#)包装器进入 native (C++)代码?

转载 作者:IT老高 更新时间:2023-10-28 22:17:42 26 4
gpt4 key购买 nike

我有一个从 C# 代码调用的 C++ 函数调用的包装器。如何在 Visual Studio 中附加调试器以单步执行 native C++ 代码?

这是我在 C++ 文件中定义的调用 GetData() 的包装器:

    [DllImport("Unmanaged.dll", CallingConvention=CallingConvention.Cdecl, 
EntryPoint = "GetData", BestFitMapping = false)]
public static extern String GetData(String url);

代码崩溃,我想调查根本原因。

谢谢,尼基尔

最佳答案

检查项目属性页面上的调试选项卡。应该有一个“启用非托管代码调试”复选框。当我们为旧的 c++ DLL 开发新的 .NET UI 时,这对我有用。

如果您的非托管 DLL 是从另一个项目构建的(有一段时间我们是使用 VS6 构建的),请确保您有 DLL 的 pdb 文件以方便调试。

另一种方法是使用 C# exe 作为目标 exe 从 DLL 项目中运行,然后您可以正常调试您的 DLL。

关于c# - 如何附加调试器以从托管(C#)包装器进入 native (C++)代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com