TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Reverse Debugging with GDB

76 pointsby mrmaddogover 11 years ago

7 comments

coldcodeover 11 years ago
Reverse debugging sounds like putting bugs in. We do that every day already.
fijalover 11 years ago
We (PyPy developers) tried this and it's unusably slow. I don't know how they got that slow, but it takes a bit forever to execute 10mln instructions. We ended up using UndoDB gdb wrapper, which runs slower than they advertise (+- the same speed as valgrind so say 30x give or take), but is a lot more usable. They had stability problems in the past, but with the recent versions, we're able to run stuff like complex python programs on top of pypy on top of UndoDB, which is very impressive. Very useful for hard GC bugs.
bravuraover 11 years ago
I have a more modest request:<p>Could debuggers please store the code paths and variable values, over the last 50 executions or perhaps the test suite (deterministic)? This is particularly useful for understanding someone else&#x27;s code.<p>[edit: a context-free version of reverse debugging]<p>I&#x27;ve recently been enjoying using IntelliJ for Scala, because it can show me types, and jump to type declarations, and usages.<p>However, I still have to do a bunch of print debugging when trying to understand someone else&#x27;s code, because I want to understand what values certain variables take. This is a pain using a compiler as slow as Scala.<p>Something that captured relevant information, so that it would be easier + faster to do print debugging against previous code runs or the test suite, would be awesome.
评论 #6695024 未加载
评论 #6696514 未加载
neur0mancerover 11 years ago
I tried it. Unfortunately, it is very slow.
评论 #6693307 未加载
评论 #6694022 未加载
Groxxover 11 years ago
For Java, if it still runs: <a href="http://www.lambdacs.com/debugger/" rel="nofollow">http:&#x2F;&#x2F;www.lambdacs.com&#x2F;debugger&#x2F;</a><p>I really like the idea. Never knew GDB had implemented it (thanks for the link!). I&#x27;ll <i>definitely</i> try this out :)
martin_over 11 years ago
I&#x27;m assuming this wasn&#x27;t a big hit as little as been mentioned about it since its release in 2009?
评论 #6693465 未加载
peterhajasover 11 years ago
Cool! Does `lldb` have similar functionality?