发新话题
打印

[基础] 如何调试 ActiveX DLL ?

如何调试 ActiveX DLL ?

一般用“逐语句”运行调试代码时,当前执行 行 会有黄色的背景色,可以逐行检查问题所在。如图:

但在调试 ActiveX DLL 的代码时,却没有当前执行行的黄色背景色,不知道当前执行到哪一行,怎么检查问题出现在哪一行?
请教各位,谢谢!

[ 本帖最后由 wshzw 于 2008-7-27 13:09 编辑 ]

TOP

谢谢回复!
但是比如用 Excel 作为 Test.dll 的宿主程序,如果 Test.dll 尚未被编译,还不能应用于 Excel,如果 Test.dll 已被编译,只能在 Excel 的代码中设置断点,看不到 *.dll 中有病的语句……
我对 VB 太不了解,还不能明白如何调试 *.dll 中的病句,应该是在*.dll中调试,还是在宿主程序中调试?
我还纳闷着:在宿主程序中无法调试到 *.dll 内部的代码…在编写 *.dll 时又不能调试…?
请再指点,谢谢!

TOP

以附件中的 Test.xls 调用 Test.dll 为例,如何能检查出下面第五行的代码有问题?
Test.rar (13.11 KB)
Sub WriteMe()
   With mxlApp
      .ActiveCell = .ActiveWorkbook.Name
      .ActiveCell(2) = .ActiveSheet.Name
'      .Sheets(5).Cells(1, 1) = "不存在"  '因工作簿中只有3页,所以当前行的代码有问题
   End With
   MsgBox "假如 *.DLL 中的当前行有问题,调试成了难题……"
End Sub

TOP

谢谢!原来 DLL 本来就不易调试。
请问“VB的调试器”是 VB 自带的呢,还是另外的一个软件?

TOP

谢谢回复!
我在DLL尚未编译的情况下,按[F5]或[F8]键运行DLL,都没出现调试选择的对话框,那是因为我操作得疏漏或是VB尚未成为我的朋友……
我是否可以先将工程类型由DLL改为EXE,调试完成后再将工程类型改回来?

TOP

发新话题