很多桌面软件使用C#进行框架开发,底层算法用C++,此时调用方法为C#的DLLIMPORT,也可以叫做Wrapping/Wrapper。
[DllImport("XXXLib.dll", EntryPoint = "XXX", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
如果用这种方法进行调用,C#框架是以库引用的方式运行C++ dll中的方法,正常是不能进入C++代码断点的,需要做如下设置:
1.右键C++项目,将C++工程设置为启动项
2.设置Command,使用C#框架生成的exe进行
3.调试器类型选择本地
此时就相当于C++项目调用了外部exe做框架运行,可以进入代码进行调试。