在VS2015的经典ASP页面中调试VB6 COM对象
问题描述:
我在VB6 COM对象的方法中有一个错误。它以“OBJECT RUNAT = server PROGID = fgcom id = bla VIEWASTEXT>/OBJECT”的形式在传统的ASP页面中用于我的web应用程序(混合使用经典的ASP与新的ASP.NET,Visual Studio 2015)。我有一个代码,包括VB6 IDE,ISS是7.5(赢得7)。在VS2015的经典ASP页面中调试VB6 COM对象
我可以调试到COM对象吗?我怎么做?
答
您可以在VB6 IDE中调试com组件。
事实上,你所做的是在VB6 IDE中打开项目,在子项或函数中的第一个可执行行上放置一个断点,然后在IDE中启动该组件,然后运行消耗的应用程序它到了调用VB6组件方法的地步。此时,VB6 IDE将在最小化时闪烁,您将看到焦点位于中断点,并且您可以在IDE中使用步骤和监视功能。这假设你在同一台计算机上具有IDE,这是最简单的情况。
注
我建议您暂时的调试时间效率的,因为如果你的组件已经在内存中已经那么就可能收到来自您的调用代码的调用过程中改变类的名称。因此,如果您的代码实例化MyComponent.SomeClass,然后在VB6中更改为MyComponent.SomeClassA,并在调试期间调用代码,然后在找到解决方案后重置为最终编译。您可以通过重新启动等方式刷新内存中的版本,但如果切换类名称,则更容易且更明确。
要绝对确定组件的调试版本被调用,在组件的初始化子集上放置一个断点。
一旦建立,它是一个非常简单,可重复和高效的过程。
让我现在如果你不熟悉的地方。如果他们使用后期绑定(创建对象)来更改这些设置等
名称改变应该正常工作。但如果它是早期绑定的(编译时参考),这将导致更多的复杂性。必须创建参考文献... – DaveInCaz
@DaveInCaz是的,我认为有一些复杂性,但我不想吓跑OP,因为如果他控制了所有的源,它是完全可行的。但好点。让我们来看看。 –
我能够调试你的方式,没有名称变化,顺利(后期绑定,是)。谢谢。 –