我尝试了几种不同的方式,但没有一种方法有效。
方法1我尝试过:
启动VB程序并运行直到DLL运行。 打开VC ++(无项目)并选择Build |启动调试|附加到流程 附加到VB程序 在VC ++中打开DLL源代码文件,在代码中选择一个断点。 继续运行VB程序,它没有跳转到VC ++。
方法2我尝试过:
"经过长时间的斗争找到了答案。实际上我们必须在Projects-> settings-> debug-> category-> general-> Executable中为调试会话提供VB6.exe的路径。然后当你尝试通过拥有一个调试VC ++ dll时在需要检查的函数中断点,将打开一个新的VB6 IDE。请选择实际调用VC ++ 6 dll的VB6 Dll项目。运行该应用程序,当函数调用VC ++ 6进入VB6函数时,控件自动进入VC ++ IDE,您可以将其调试为usua"来自MSDN ---->它刚刚进入VB应用程序的下一行代码,没有像方法1那样进入VC ++ IDE。
VB应用程序声明了这样的dll文件:
dim query as object
query=CreateObject("ClientServer.getResultClass")
query.execute(parameter1,parameter2)
我不确定是否需要将调试dll放入特定位置,或者我可能需要注册调试dll文件(我检查了gedit,注册了ClientServer.getResultClass)。
答案 0 :(得分:0)
您使用方法1处于正确的轨道上。您需要确保附加“本机”调试器,并且DLL包含调试信息,并且源代码与DLL匹配。如果满足所有三个条件,它应该工作。请注意,几乎总是需要使用新构建的DLL来确保满足第三个条件。