3 ms·
Thank god they forked it. Parts of Trident were older than unit testing was a best practice. The cultural best thing to do was wall off those parts and never to
by inlined 7y ago
Thank god they forked it. Parts of Trident were older than unit testing was a best practice. The cultural best thing to do was wall off those parts and never touch them because regressions would be impossible to find.
I once did a bug fix for an assertion in the Trident. It’s still one of the hardest bugs I’ve ever solved. It was hundreds of stack frames deep in recursion (DOM layout code) in a function that was several pages long and had bidirectional goto statements. If I didn’t have the amazing features of Windbg it would have been impossible to solve. In the end it was a variant of the C++ slicing problem (if you store a subclass in an array of superclass you’ll chop off the member variables of the subclass).
- inlined 7y agoDouble checked and the windbg feature I alluded to is now publicly available. Time travel debugging allowed me to pop the assert and then reverse the program state to eventually find when things started to go wrong. If you’re a windows developer and haven’t yet tried out this feature I strongly recommend it.