【问题标题】:How can I debug any program with Visual Studio 2010?如何使用 Visual Studio 2010 调试任何程序?
【发布时间】:2011-10-14 19:56:15
【问题描述】:

当发生“未处理的异常”或其他程序故障时,Windows 为我提供了使用 Visual Studio 2010 调试程序的可能性。但是,我想用 Visual Studio 2010 调试我用 VB6 编写的程序,即使它不会触发错误。我想查看汇编代码并单步执行它,查看堆栈内容和类似的东西。这可能吗?

【问题讨论】:

    标签: windows visual-studio visual-studio-2010 debugging


    【解决方案1】:

    运行 ide 并附加进程。当您暂停调试会话时,您可能会看到程序集。

    否则,你可以使用ollydbg、ida等反汇编来查看代码。

    【讨论】:

      【解决方案2】:

      使用“调试”>“附加到进程”命令。

      【讨论】:

      • 你能在 Visual Studio 中打开一个 vb6 项目吗?我不这么认为,这意味着你不能单步执行代码。
      • @AshBurlaczenko:如果您使用调试信息进行编译,看起来 VB6 会生成 .pdb 文件。 Visual Studio 可以从 .pdb 中提取行号信息,即使它来自不同的语言(我已经使用 Delphi 为 .NET 构建的二进制文件完成了它)。所以答案是,不,您无法在 Visual Studio 中打开 VB6 项目,但如果附加到正在运行的进程,则可以对其进行调试。
      【解决方案3】:

      VB6 汇编将没有意义,因为 VB6 是(有时)解释语言。但是,如果您仍想这样做,Windows 调试工具 (WinDbg) 是完成此任务的更好工具。

      【讨论】:

      • VB6 是一种编译语言,请参阅msdn.microsoft.com/en-us/library/aa240843(v=vs.60).aspx - 代码对我来说有多重要是一个完全不同的问题,不过……
      • 并非总是如此:“P 代码或伪代码是 Basic 程序中的高级指令与计算机处理器执行的低级本机代码之间的中间步骤。在运行时, Visual Basic 将每个 p-code 语句转换为本机代码。通过直接编译为本机代码格式,您消除了中间 p-code 步骤。"
      • windbg 通常比集成到 MSVS 中的调试器更有用
      猜你喜欢
      • 2011-07-23
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 2012-01-17
      • 2014-04-01
      • 2014-06-12
      • 2011-08-18
      相关资源
      最近更新 更多