我有一个C++函数调用的包装器,我从C#代码调用它.如何在Visual Studio中附加调试器以进入本机C++代码?
这是我所拥有的包装器,它调用C++文件中定义的GetData():
[DllImport("Unmanaged.dll", CallingConvention=CallingConvention.Cdecl,
EntryPoint = "GetData", BestFitMapping = false)]
public static extern String GetData(String url);
Run Code Online (Sandbox Code Playgroud)
代码崩溃,我想调查根本原因.
谢谢,尼基尔
我正在VS2015中开发.NET核心(.NET Standard 1.6)应用程序.应用程序通过P/Invoke调用C++代码.现在我需要进入我的本机dll项目的C/C++代码.
在常规.NET应用程序中,通过在应用程序的属性窗口中启用非托管代码调试,我们可以直接进入C/C++代码:

但我无法在.NET核心项目中找到这样的选项.我知道我可以将调试器附加到应用程序以仅调试本机代码,但这不适合我的情况.
同样,我想从托管C#代码调试到本机C/C++代码.
有任何想法吗?
也许我应该切换回.NET Framework,以便我可以调试本机代码.调试真的很难printf.:(