我必须及时返回并调试VB6表单。它在应用程序内部使用(不是我们的,Esri ArcMap.exe)。我看到VB6有一些调试功能,但在.NET中,我无处可以“启动另一个应用程序”或“附加”到正在运行的应用程序。
如何在第三方应用程序内运行时调试我的VB6代码?
答案 0 :(得分:2)
就在那里;你只是没有看到它。
如果您的表单托管在DLL中(最有可能来自您的描述),您有两个选项,这两个选项都可以从“项目”设置 - > “项目名称属性”对话框,“调试”选项卡。
“等待创建组件”
单击Run( F5 )时,VB6将更改DLL的注册表项,以便它们指向VB6调试器。
像往常一样启动第三方程序
当任何程序试图创建由您的DLL托管的对象和表单时,它将通过调试器执行此操作。
“启动程序”
与之前相同, plus VB6将执行在对话框中输入的命令行。
应该注意的是,VB6必须以完全“以管理员身份”模式运行,因为它需要写入注册表的正常保护区域。
不要担心第三种选择。我们只是说有些事情被遗忘了。
答案 1 :(得分:0)
我的第一手知识有点朦胧(我继承了配置了所有这些东西的PC,而且我无意再从头开始设置它......),但是这里有:
有一个名为ESRI Compile and Register的ESRI VB6加载项,它可以使整个过程变得更加容易。
该链接上有很多说明,但关键之一是在Options->支持Visual Basic Debugger下,它创建了一个文件ESRIVBDebugHelper.exe
。
在项目中 - >属性 - > “调试”选项卡,在“开始程序”下,输入此ESRIVBDebugHelper.exe
的完整路径。然后,当您调试VB6应用程序时,应该生成ArcMap并允许您在VB6 IDE中动态调试。