3 ms·
What other great tools are there in the vein of valgrind and AFL?
by appleflaxen 4y ago
What other great tools are there in the vein of valgrind and AFL?
- tux3 4y agorr, for record and replay I'm also a fan of systemtap, for when your probing problems push into peeking at the kernel
- tialaramex 4y agoIn my obviously biased opinion, very specialised, but sometimes exactly what you needed (I have used this in anger maybe 2-3 times in my career since then, which is why I wrote the C version): https://github.com/tialaramex/leakdice https://github.com/tialaramex/leakdice (or https://github.com/tialaramex/leakdice-rust https://github.com/tialaramex/leakdice-rust) Leakdice implements some of Raymond Chen's "The poor man’s way of identifying memory leaks" for you. On Linux at least. https://bytepointer.com/resources/old_new_thing/20050815_224_the_poor_mans_way_of_identifying_memory_leaks.htm https://bytepointer.com/resources/old_new_thing/20050815_224... All leakdice does is: You pick a running process which you own, leakdice picks a random heap page belonging to that process and shows you that page as hex + ASCII. The Raymond Chen article explains why you might ever want to do this.
- cjbprime 4y agoStarting to stretch, but would have to pick strace next. Can't believe macOS devs don't get to use it (at least without hoops like disabling SIP).
- yaantc 4y agoSeconding `rr` as suggested by @tux3, it's great for debugging. Also, the sanitizers for GCC and Clang (https://github.com/google/sanitizers https://github.com/google/sanitizers), and the Clang static analyzer (and tidy too) through CodeChecker (https://codechecker.readthedocs.io/ https://codechecker.readthedocs.io/). For the Clang static analyzer, make sure your LLVM toolchain has the Z3 support enabled (OK in Debian stable for example), and enable cross translation units (CTU) analysis too for better results.