gpt4 book ai didi

vb6 - 如何调试从另一个应用程序启动的应用程序? (VB6)

转载 作者:行者123 更新时间:2023-12-01 21:58:54 26 4
gpt4 key购买 nike

想象一下,当我启动应用程序 #0 时,它会进行一些计算,一段时间后它会启动应用程序 #1、应用程序 #2、应用程序 #3。 (它向新应用程序发送一些参数、对象。)。

我想调试应用程序 #1,但它必须从应用程序 #0 启动。

我该怎么做?(我正在使用 Visual Studio 6,并且我有源代码以及有关这些应用程序的所有内容)

最佳答案

阅读this article其中描述了如何调试 ActiveX exe

基本上,您将运行 ActiveX exe,然后在调用应用程序中添加对其的引用。 让 ActiveX exe 保持运行,因为引用的是其正在运行的进程,而不是其已编译的 exe。现在也运行调用应用程序。这将允许您在 Visual Studio 的单独实例中的断点处停止。

已经有一段时间了,但我想确保我可以自己做,并且我可以确认它是否有效。所以这里是:

创建一个名为 Project1 的新项目。这将是 ActiveX EXE

enter image description here

您应该有一个名为 Class1 的文件,您将在其中放置以下代码:

Option Explicit

Public Function Foo()
MsgBox "foo"
End Function

现在创建另一个项目,名为 Project2。这是一个标准的 EXE

enter image description here

启动项目1。该提示询问项目启动时要做什么。选择“等待创建组件”。单击“确定”并使其保持运行。

enter image description here

转到“项目2”,“项目”菜单>>“引用”。在列表中找到Project1。勾选复选框。 (此时不要将文件系统浏览到 Project1,只需使用可用引用列表中的临时二进制文件!)

enter image description here

现在在 Project2.Form1 中输入此代码

Option Explicit

Private Sub Form_Load()
Dim p As New Project1.Class1
p.Foo
End Sub

您可以在 Project1.Class1.Foo() 的 msgbox 行上放置一个断点。当您运行 Project2 时将命中断点。

您添加的引用严格用于调试。部署应用程序时,您应该将 ActiveX exe 二进制文件复制到应用程序目录并直接引用这些文件。

关于vb6 - 如何调试从另一个应用程序启动的应用程序? (VB6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37076511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com