我可以单独使用VS2013单步执行VB6代码吗?

德纳利·硬尾

我最近继承了一个旧的VB6项目,其中包含内置的二进制文件,源代码,项目文件等,但没有pdb文件。有什么方法可以启动此VB6应用程序并使用VS2013工具逐步完成它?还是我需要安装VB6 IDE?

StayOnTarget

您不能直接在VS .NET中直接打开VB6项目。

但是您所想到的可能是通过Visual Studio调试已编译的VB6的过程。假设您可以重新编译VB6模块以包含PDB文件,则这是可能的。如果没有它们,我认为这将无法很好地发挥作用。

在Visual Studio .NET中调试VB6二进制文件,robgruen,2004年11月9日

如果您正在使用互操作程序来调用VB6 ActiveX dll或exe,并且需要调试VB6项目,则可能会发现自己同时打开了VS.NET和VB6 IDE。当然,这可能远远不够有效。

通常,您将VB6项目设置为“等待要创建的组件”,然后启动.NET应用程序,然后在VB6组件中命中断点。好吧,有一种更简单的方法可以做到这一点。您实际上可以在VS.NET中调试VB6组件。这是您需要做的:

  1. 用符号构建您的VB6项目。

    在VB6中打开您的vbp文件,然后转到“ Project-> Properties”。选择“编译”选项卡,然后选中“编译为本机代码”。然后选择“无优化”单选按钮并选中“创建符号调试信息”。

    这将与您的.EXE一起生成一个.PDB(程序数据库)文件。该文件包含调试信息,因此VS.NET调试器可以排队源代码和命中断点等。(请确保您的VB6 dll集具有二进制兼容性,否则您必须删除并重新添加对VB6的引用VS.NET中的组件。)

  2. 在VS.NET中打开.NET项目。

  3. 转到项目属性,然后选择“配置属性->调试”属性页面并启用非托管调试。

    对于VB.NET项目,此选项为“非托管代码调试”,对于C#为“启用非托管调试” [或“启用本机代码调试”]。

  4. 选择解决方案的属性页。

  5. 在“调试源文件”中添加一个条目,该条目指向VB6组件的源代码所在的路径。

  6. 在“调试符号文件”中添加一个条目,该条目指向在步骤1中生成的.PDB文件所在的文件夹。

现在,您应该能够在VS.NET中打开.bas,.cls,.frm等文件,并且可以在文件中放置断点。调试后,调试器将在这些代码行上停止。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以低于使用的字体强制执行的VB6 TextBox控件的最小高度吗?

在使用vb6代码创建DSN之前检查它是否存在

使用VSCode时无法单步执行“仅我的代码”吗?

我可以使用Office Professional plus 2013代码获取SkyDrive Pro

VB6代码翻译Date1>(Date2 + 30)

通过使用VB6 DLL保护我的部分代码

我可以使用C#预处理器跳过Kinect v2.0代码吗?

什么是aspnet50目标框架,我可以从VS2013中引用它吗?

AVX计算问题:我可以运行avx2代码吗?

我可以将Realm.getDefaultInstance()。executeTransaction([transaction])称为“单一代码”吗?

有人可以使用C#统一代码在我的测验游戏中为我提供帮助吗

在Rmarkdown中执行Perl 6代码

可以在roxygen2代码块内使用换行符吗?

使用Visual Studio 2013编译C ++ 11代码

VS 2013可以让我直观地看到我的代码采用的路径吗?

我可以/应该在cordova应用程序中下载html5代码吗?

我可以在没有图形卡或MESA的计算机上编程/编译OpenGL 4.0代码吗?

您可以像在VB6中一样“静态地”使用VB.Net表单吗?

我的数据库不是通过Entity Framework 6代码优先方法自动创建的吗?

我可以使用 v8(-debug) 执行 Ignition 生成的字节码吗?

如何使用Webpack缩小ES6代码?

将6位代码提取到excel中的单独列

在EF6代码中,首先我可以更改导航属性值,然后断开关系,并将两个更改都保存在一个事务中吗?

Excel 2013中的VB6提取

安装VS 2017后,2013代码比较颜色不可读

VS2013 Git源代码管理

VB6在执行代码后检查zip是否为空

sb可以帮助我更正我的vb代码吗?

当我在asp.net mvc项目上以调试模式启动浏览器时,可以告诉VS2013直接将其导航到网站的某个部分吗?