gpt4 book ai didi

java - C/C++以外语言的逆向调试

转载 作者:数据小太阳 更新时间:2023-10-29 07:28:59 28 4
gpt4 key购买 nike

最近,我开始使用reverse debugging with gdb在 C++ 中,它对某些类型的问题(例如,循环和递归算法)工作得很好。除了 gdb,还有其他用于 C/C++ 的商业调试器(例如 UndoDB )。

我想知道其他语言是否有好的可逆调试器?我对 Java 和 Ruby 特别感兴趣,但这个问题对任何语言都是开放的。

我发现的另一种方法是在虚拟机上运行您的应用程序并连接到它。我知道(但从未测试过)的唯一实现是 VMware's Replay Debugging .我想知道它适合哪种类型的调试任务。对于大多数常见问题来说似乎有点矫枉过正,但它可能对调试通常难以重现的通信或同步问题很有用。

背景资料:

  • 术语“反向调试”由 gdb 使用。但是,有许多同义词:
    • “可逆调试”
    • Microsoft 称之为 IntelliTrace 或“历史调试”
    • 在 Java 中,此类调试器有时被称为“Ominiscient Debugger”
  • (在 programmers.stackexchange 上)Why is reverse debugging rarely used?

最佳答案

Jiva声称它可以:

JIVE supports both forward and reverse stepping of Java programs. ... Providing the ability to step backwards saves a programmer the time and effort of re-executing the program until the point of error. JIVE also provides the ability to jump directly back to any previous point in the execution history in order to observe the object diagram at that point.

关于java - C/C++以外语言的逆向调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14159806/

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