如何实现VB和VC的联合调试

原创 2005年05月25日 21:53:00
我经常会遇到这种情况:
http://community.csdn.net/Expert/topic/3568/3568799.xml?temp=1.800174E-02
 
我用VC写了一个DLL,然后用VB写EXE。
我现在想调试我的DLL和EXE,在VB环境下调试,可是我无法跳入DLL函数的内部,无法在DLL内部调试。
有没有一个办法能让我实现VB和VC联调,当我在VB环境中需要跳入DLL函数时,进入VC环境,在VC中调试,这样我就可以查看变量值、设置断点,然后等函数返回时又回到VB环境下继续调试。
 
后来经过我自己的一番摸索,终于实现了VB、VC联调。
 
这个方法是以VC为主环境,VB为副环境,这是因为DLL是由VC编写的,而在调试DLL的时候一般会让我们指定一个EXE。如果DLL是VB编写的,我想应该是以VB为主环境(没有测试过)。
 
1.  建立一个VB Standard EXE工程project1.vbp,在这个工程中调用VC编写的动态连接库中的函数。
2.  建立一个VC DLL工程TestDll,编写代码实现函数输出。建议把整个工程目录放置到project1.vbp所在的目录。
3.  设置VC工程,这一步是非常重要的,是实现联调的关键。
a)         更改General选项卡中OutPut Files的路径,指定到project1.vbp所在的目录。由于我把工程目录放在了project1.vbp目录下,因此我这里用相对路径“../”(其实就是project1.vbp所在的目录)。
b)        更改Debug选项卡中Executable for debug session:为你电脑中VB6.exe;更改Working directory为project1.vbp所在的目录;在Program arguments:中填写project1.vbp,这个参数其实是传给VB的,让VB打开project1.vbp,如果增加参数”/r”,那么在VB启动后立即开始(相当于按F5),如果不增加参数”/r”,那么需要手动开始。
c)        确认你的Link选项卡中输出DLL的路径及DLL名称,把他设定到project1.vbp所在的目录:
4.  在你的DLL源程序(VC中)中设定断点,按F5, GO!怎么样,VB环境已经运行起来了,工程project1.vbp已经打开了吧!如果你在3)b.的Program arguments:中指定了”/r”参数,那么这个时候程序已经开始运行了,如果你没有指定这个参数,那么你可以先在VB环境中设定断点,然后在调用DLL函数上设置断点,按F5,Start!如果在VB中遇到断点,程序就会停下,然后按F8,Step into! 发现什么了,哈哈,VC环境主动切换到前面,而且当前的箭头已经指向了被调用函数了,这个时候,已经进入VC环境了,你想怎么调试都可以!当被调用函数要结束时,请按F11,Step Out,否则会有一段汇编代码。这个时候VB环境有主动切换到前面,又进入VB调试环境了!
 
在用VC编写DLL时要注意,VC会对输出函数名进行一些修饰,所以还是需要在def文件中明确输出函数名。这个方法对于其他的环境之间(如Delphi-VC、Delphi-VB)是否适用我还没有测试过,请大家在需要时自己测试。

相关文章推荐

VC实现一个库,并用VB(Visual Basic)来调用的方法,包括传递数组的方法

因为工作需要,最近写了一个VB小软件,很多功能已经用VC写好了,如果再用VB整一遍太麻烦。最好的方法将VC程序编译成dll库,然后用VB来调用就行了。虽然VB已经很老了,但是做一些小软件还是非常方便的...

VC实现可在VB中调用的DLL

下面工程的 1.文件--新建  新建一个 Win32 Dynamic-Link Library 的工程(在我的VC里面是倒数第二个),工程名称TextDll,当然你可以根据你的需要任意填写 , ...

Delphi,VC++,VB,C#等实现二维条码绘制

Delphi,VC++,VB,C#等实现二维条码绘制   2011-01-31 16:04:15|  分类: Delphi笔记 |字号 订阅 /*Title:De...
  • spd260
  • spd260
  • 2013年03月12日 21:22
  • 1537

VB 实现VC TAbControl控件

VB实现VC TabControl控件   新建一个工程文件Project1,     在左侧工具栏中点右键   在出现的选项中点“Components”,在打开窗口中找到“Cont...

VC VB 联合编程

  • 2015年07月20日 08:31
  • 94KB
  • 下载

VC/VB联合编程

  • 2015年07月15日 16:42
  • 1.92MB
  • 下载

VC,VB程序按钮、图标样式美化

此处的“美化”指的不是通过代码进行美化你的程序。关于想进一步优化自己的程序界面的,不妨去了解下SkinSharp吧。本文提及的是利用第三方资源编辑软件在不更改程序任何框架和代码的前提下实现对界面的简单...
  • ROVAST
  • ROVAST
  • 2014年06月09日 09:00
  • 3346

各种计算机语言的经典书籍(C/C++/Java/C#/VC/VB等)

1、JavaJava编程语言(第三版)—Java四大名著—-James Gosling(Java之父)Java编程思想(第2版)—-Java四大名著—-Bruce EckelJava编程思想(第3版)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:如何实现VB和VC的联合调试
举报原因:
原因补充:

(最多只允许输入30个字)