我最近继承了一个旧的VB6项目,包含内置的二进制文件,源代码,项目文件等,但没有pdb文件。有什么方法可以启动这个VB6应用程序并使用VS2013工具逐步完成它?或者我是否需要安装VB6 IDE?
答案 0 :(得分:1)
您不能直接在VS .NET中直接打开VB6项目。
但是您所想到的可能是通过Visual Studio调试已编译的VB6的过程。假设您可以重新编译VB6模块以包括PDB文件,则这是可能的。没有它们,我认为这将无法很好地发挥作用。
Debugging VB6 binaries in Visual Studio .NET , by robgruen November 9, 2004
如果您正在使用互操作调用VB6 ActiveX dll或exe,并且您 需要调试您的VB6项目,您可能会发现自己同时拥有 VS.NET和VB6 IDE打开。这肯定可以远离
通常,您将VB6项目设置为“等待组件 创建”,然后启动您的.NET应用,然后在其中击中断点 VB6组件。好吧,有一种更简单的方法可以做到这一点。您可以 实际调试VS.NET中的VB6组件。这就是你需要的 要做:
使用符号构建VB6项目。
在VB6中打开您的vbp文件,然后转到“ Project-> Properties”。选择 “编译”标签,然后选中“编译为本机代码”。然后选择 “无优化”单选按钮,然后选中“创建符号调试信息”。
这将生成一个.PDB(程序数据库)文件以及您的 。可执行程序。该文件包含调试信息,因此VS.NET 调试器可以排列源代码并命中断点等(请确保您 您的VB6 dll集具有二进制兼容性,否则您必须删除 并在VS.NET中重新添加对VB6组件的引用。)
在VS.NET中打开.NET项目。
转到项目属性,然后选择“配置属性->调试”属性页并启用非托管调试。
对于VB.NET项目,此选项为“非托管代码调试”,对于 C#是“启用非托管调试”或“启用本机代码调试”。
选择解决方案的属性页。
在“调试源文件”中添加一个条目,该条目指向VB6组件的源代码所在的路径。
在“调试符号文件”中添加一个条目,该条目指向在步骤1中生成的.PDB文件所在的文件夹。
您现在应该可以在以下位置打开.bas,.cls,.frm等文件 VS.NET,您可以在文件中放置断点。调试完 调试器将在这些代码行上停止。
答案 1 :(得分:-1)
如果你能获得VB.NET 2003,2005或2008的副本,那就是能够将VB6项目转换为VB.NET项目的VB.NET版本。以后的VB.NET版本不会在VB6项目上打开/运行。
所以,你的选择是VB 6,或VB 2003,2005或2008(或者是VB.Net的现代版本......以及很多手动转换代码的工作。我希望它不是一个很大的应用程序。)