Published inTime Travel Debugging·Jan 20“How Did This Variable Get That Value?”It’s quite common when diagnosing an issue in an application to come across an unexpected value in a variable or data structure, and to wonder: “How did that value get there?” With time travel debugging, it is now possible to find this out in a quick and efficient way: Undo’s LiveRecorder recently introduced the lastcommand to help C++ developers answer precisely that question. The last command jumps to the last time in execution history when the value of a variable or expression was modified.Cpp1 min readCpp1 min read
Feb 14, 20227 Steps To Fix Flaky Tests91% of software developers admit to having defects which remain unresolved because they cannot reproduce the issue. [ See analyst research report] Slowed down by a growing backlog of test failures? CI/CD and test automation help with delivering quality software at speed, but they bring with them a growing backlog of failing tests. …Flaky Tests4 min readFlaky Tests4 min read
Published inTime Travel Debugging·Jan 31, 2022Debugging a Data Structure Corruption in SQLiteTime travel debugging offers a number of ways to rapidly analyze and diagnose bugs, even in unfamiliar code. Using the worked analysis of an SQLite issue, we can see how these techniques function in a real-world application. Firstly, a little background: for anyone who doesn’t know, “SQLite is a C-language…Database6 min readDatabase6 min read
Published inTime Travel Debugging·Jul 19, 2021How Linux C++ Debuggers Really WorkDebugging is central to programming. You cannot be a good programmer without being good at debugging and vice-versa. And I would also say you cannot be good at debugging without taking advantage of the tools at your disposal. …Linux3 min readLinux3 min read
Published inTime Travel Debugging·Nov 2, 2020How to recover from stack-corruption with reversible debuggingIf a program overwrites its own program counter register, it is almost impossible to recover using a conventional debugger — without the program counter, the debugger cannot figure out which function the program was running, and so cannot even give any useful information about what is on the stack or…Debugging3 min readDebugging3 min read
Published inTime Travel Debugging·Oct 28, 2020Why it’s time to debug different with time travel debuggingWhat do we know about debugging? Most of us know it’s painful, stressful and takes up too much of our time when we just want to build things. We also know it is becoming increasingly harder for developers to debug software due to complex orchestrations and architectures that make understanding…Debugging3 min readDebugging3 min read
Published inTime Travel Debugging·Oct 5, 2020GDB debugging: How to write user-defined commands in PythonLast time we looked at user-defined commands in the GDB command-line. In this GDB tutorial, we look at writing our user-defined functions in Python. The advantage of creating user-defined commands in Python is that you…Python4 min readPython4 min read
Published inTime Travel Debugging·Jul 28, 2020Hello, Java World. Hello, LiveRecorder for debugging JavaDevelopers can now use LiveRecorder to record, replay and reverse-debug Java applications seamlessly in IntelliJ IDEA. — Today we are excited to share the launch of LiveRecorder for Java with you! LiveRecorder for Java is a transformational set of developer productivity tools, that enable Java developers to resolve bugs much faster than before. …Debugging3 min readDebugging3 min read
Jul 16, 2020How working with user-defined commands in GDB can make you more productiveIn this GDB tutorial, we’re going to look at user-defined commands. There are various reasons you might want to work with user-defined commands; but one of the most prominent is that we want to be productive. …Gdb3 min readGdb3 min read
Published inTime Travel Debugging·Jun 26, 2020CICD — what to do about failing testsThe explosion of Agile development and DevOps practices has resulted in more frequent testing to enable faster and continuous delivery of software applications. That’s the theory anyway. A study carried out recently by a Cambridge Judge Business School MBA project reveals that while the adoption of continuous integration is on…Shiftleft5 min readShiftleft5 min read