How to do bidirectional or reverse debugging of pr

2019-01-10 23:51发布

Has anyone actually used a reversable debugger? The only product that Google turns up is UndoDB. It is for apparently for Linux only.

11条回答
不美不萌又怎样
2楼-- · 2019-01-11 00:01

The latest gdb version 7.0 (released this week) supports reverse debugging on a number of platforms (eg. native i386 and x86_64 linux, VMware workstation, UndoDB, and Simics simulators from Virtutech). ftp://ftp.gnu.org/pub/gdb

It works with the latest preview / pre-release of VMware workstation 7.0, which also supports reverse debugging of MSWindows guests using Visual Studio debugger. Get a free trial download of workstation 7.0 at http://communities.vmware.com/community/beta/workstation, and find some helpful usage tips here at http://communities.vmware.com/docs/DOC-10714

查看更多
萌系小妹纸
3楼-- · 2019-01-11 00:04

The newly released gdb-7.0 includes reverse debugging capability for native linux x86 and x86_64. You can debug any linux program as usual, turn on the "recording" feature, and from that point on, if you step forward too far, you can step backward or reverse-continue to a breakpoint.

查看更多
放荡不羁爱自由
4楼-- · 2019-01-11 00:06

The word your looking for may be "Omniscient Debugging".

Here is one: http://www.lambdacs.com/debugger/

The UndoDB page has some links to (expensive) commercial debuggers.

查看更多
Luminary・发光体
5楼-- · 2019-01-11 00:06

I am using UndoDB on Linux instead of plain gdb for every debugging session. Reverse debugging is very useful and speeds up debugging significantly. You can start debugging from the symptom of the problem (e.g. assertion failure or some wrong message is printed) and debug backwards in time, looking for the root cause of the problem.

查看更多
神经病院院长
6楼-- · 2019-01-11 00:14

Yes, I've used it back in the 90th.. The Watcom C Debugger (understood FORTRAN and most other languages as well) had the option to let you step back and forward in time.

It's great, but not a big new thing...

查看更多
Juvenile、少年°
7楼-- · 2019-01-11 00:14

Mozilla rr open source trace based reverse debugging

https://github.com/mozilla/rr

It is similar to UndoDB, but free and open source.

Only works on Linux x86 unfortunately, because such tools require advanced OS features to work efficiently.

Here is a minimal example of rr in action: How to go to the previous line in GDB?

查看更多
登录 后发表回答