日期:2014-05-20  浏览次数:20898 次

用C#引用VC的DLL,如何在调试的时候进入到DLL之中?
我的程序是这样的:
[DllImport( "FormLayout20.dll ",EntryPoint= "InitiaizeDLL ")]
public   static   extern   int   InitiaizeDLL();

private   void   Form1_Load(object   sender,   System.EventArgs   e)
{
FormLayout20DLL.InitiaizeDLL();
}
可是调试的时候,一按F11,直接就出来了,结果是对的,但是没有进入VC的程序,
这是为什么啊?之前用VC调VC的DLL的时候就可以直接进入的啊。
我要怎么做才能进到DLL的程序里调试啊?

------解决方案--------------------
你用vc调用你的FormLayout20.dll看能否调试呢
------解决方案--------------------
你引用的是Dll,要是能进去才怪呢,如果你把FormLayout20的工程直接引用到C#中,就可进进入调试了
------解决方案--------------------
楼主试试用Microsoft CLR Debugger附加进程看能不能调试,对VC的
DLL在.Net中调用还真没有这么做过...
------解决方案--------------------
1. 把工程引入C#中也是不能调试的,最起码我试过的结果是这样。
2. 例外,调试C++的DLL,使用C#的Application也是一样进不来的。

我也不知道具体的问题,我最后的解决方法是写了一个C++的小程序彻底调试了一下C++的DLL
------解决方案--------------------
1) ATTACH PROGRESS方法
2) 利用MIXED 方法调试,在IDE里设置就可以了
------解决方案--------------------
C# CALL C ,OR C ALL C# ,都可以调试
------解决方案--------------------
我以往也有这个苦恼,先在VC调试好,再拿到NET里面用,今天借此机会学习一下。。。。
------解决方案--------------------
刚刚有实验了一把,从VC这边可以,把动态库的外部调试路径设置为NET的应用程序即可。

不过,VC只能调试自己的,net的这边的还是看不到。。。。
------解决方案--------------------
Dll项目源代码里设置断点!
------解决方案--------------------
还真的是这样,又学到一样好东西咯。。。