27 ms·
Additionally, valgrind is incompatible with Maverick. Which is a huge pain, because it means that if I ever need to use it, I have to debug on a server.
by stochastic_monk 9y ago
Additionally, valgrind is incompatible with Maverick.
Which is a huge pain, because it means that if I ever need to use it, I have to debug on a server.
- saagarjha 9y agoAre you sure? IIRC valgrind supports everything up to macOS Sierra.
- stochastic_monk 9y agoOh, my mistake. It's "High Sierra" on which it can't work. I can't keep track of the OS names.
- jchb 9y agoYou mean Sierra / High Sierra. This is because of compatibility breaking changes to some low-level kernel system calls. Since valgrind is essentially a CPU emulator, it is tightly integrated with the OS kernel, and has to be updated accordingly. The macOS contributors to valgrind seem to be relatively few, probably because most macOS developers primarily use the various sanitisers in clang (they also have UI integration in Xcode). Have you tried the clang or gcc asan/tsan/usan sanitisers as a replacment? There are pros and cons of valgrind vs compile time instrumentation. The sanitisers increase the memory footprint, but run with less overhead. valgrind can detect some errors that the sanitizers cannot etc.
- stochastic_monk 9y agoI haven't, mostly just because it happens so rarely and I just want a quick fix, but some of my colleagues have started building the sanitizers into their production process. I probably should just for the sake of good practice.