| 2009-10-08 17:08:07 来自:小荷才露尖尖角 浏览数:36次 |
|
tingting567回复于08日17点20分
我用vs2008 建立一个 C++的普通动态链接库项目 GenDll ,生成dll文件。 ====> 说明楼主用的c++不是托管cpp。 不是托管cpp写的dll,必须先进行用c#进行封装,在调试的时候,我觉得应该不能进入到cpp的项目中进行调试。 |
|
张静远回复于08日17点30分
而且调试时,DLL项目里面设断点的地方提示: 当前不会命中断点,还没有为该文档加载任何符号。 |
|
陶品瑶回复于08日17点45分
把两个项目都加入到解决方案当然可以设置断点进行调试。但是也可以不把DLL项目加入解决方案,也是可以调试DLL的,只要按F11进入单步调试就可以跟入DLL的代码。前提是你的DLL是在本机的DLL源码生成的。
|
|
chenych回复于08日17点54分
我把两个项目添加到一个解决方案里面,分别打上断点,调试的时候,那个生成DLL项目里面的断点进不去,直 接跳过,是什么原因啊? (我生成DLL的项目,是在本机上Vs下,直接引入别人写好的项目) |
|
colorfulsnow回复于08日18点07分
是的,我引用DLL时,在C#里面进行了声明 [DllImport("STFDLL.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] static extern int APDUInterface([MarshalAs(UnmanagedType.LPArray, SizeConst = 20)] byte[] inBuff, uint inLen, [MarshalAs(UnmanagedType.LPArray, SizeConst = 1024)] byte[] outBuf, out uint outLen); |
|
yishu90回复于08日18点20分
这样当然不行,你必须删掉原有项目的引用,加入同一个解决方案里的项目引用
|
|
玩玩而已回复于08日18点34分
(我生成DLL的项目,是在本机上Vs下,直接引入别人写好的项目) 这样不可以调试。应该是调试主程序的时候才可以。 不过,你可以这样来试试: 在你的项目里使用如下两个语句 System.Diagnostics.Debugger.Launch(); System.Diagnostics.Debugger.Break(); 这样,程序运行到这里的时候就可以调试了。 |
> 返回话题列表