3 ms·
Have you seen the demos about how Pernosco can help with printf debugging? Things like being able to click any line of output to timewarp the debugger to the ca
by modeless 5y ago
Have you seen the demos about how Pernosco can help with printf debugging? Things like being able to click any line of output to timewarp the debugger to the call that printed it, or being able to add print statements and see the results without even having to re-execute the program.
- nyanpasu64 5y agoI looked at the list of demos a while back, but didn't watch in detail at the time.
- Agingcoder 5y agoI suggest you give it try, it's quite remarkable (disclaimer : I'm a pernosco customer) . You need to adjust your mindset to the way it works (I haven't seen any similar tool elsewhere, so to me it looks very different from a traditional forward debugger), but it's well worth spending a little bit of time with it. In particular, because it shows the whole 'dataflow history' (how a specific value flows through your program), it makes learning an unknown codebase (or a codebase you think you know for that matter...) much easier. Other features such as 'show me all calls to function f along with their parameters' help provide similar insights. I don't like debuggers, and used to delay as much as possible reaching for gdb and its cousins, but with pernosco, it's pretty much the opposite : I know that I will find my (potentially nasty) bug within a few minutes, by focusing on the 'big picture' provided by pernosco instead of wasting time working around the limitations of a regular debugger.
- nyanpasu64 5y agoI tried uploading a trace... which promptly failed due to Qt running RDRAND and Pernosco detecting a desync on playback. I do think it's a cool idea (assuming the binaries are symboled and everything). However in my recent debugging, I've noticed that sometimes I recompile and run programs to change what logging I add, or rerun programs because I screwed up my breakpoints (pernosco could fix), but sometimes I recompile to change the code behavior and observe how the visible output of an app changes (which probably can't be simulated in a trace in general, aside from identifying what downstream code would be affected by changing a variable). So this won't be a complete solution for debugging, especially given that uploading more teaces costs extra money, but I assume it will be a powerful tool to have.
- khuey 5y agoYeah we had to hack around this Qt bug https://bugreports.qt.io/browse/QTBUG-91071 https://bugreports.qt.io/browse/QTBUG-91071 but it's fixed now.