Two For One!
10 March 2010 - Filed under tips & tricks
I’m not talking about The Skatalites song, but about two great tools you can use (and should use) when developing software for Linux : Valgrind and strace.
For those who don’t know Valgrind, well, it’s never too late (as discovered by Intel’s Ylian Saint-Hilaire). Valgrind is a framework for building dynamic analysis tools. It came with a nice set of tools : a memory checker, a cache profiler, a heap profiler, and a thread debugger. If you aren’t familiar with it, your are missing something. It can help you find bugs and performance problems a lot faster than you might think.
To help you start, here are some recent (< 1 year old) tutorials about using Valgrind :
For those who prefer books, the official Valgrind 3.3 documentation is available in a printed form.
Now, for strace, it’s a a utility which monitor the system calls made by a program and the signals it receives. Like Valgrind, it’s a tool you should be familiar with if you are doing software development with Linux. For good information about using strace, I suggest you to read the following articles :
- Intro to IO Profiling of Applications
- Strace – A very powerful troubleshooting For All Linux Users
- Fun with strace and the GDB Debugger
So, the next time you have a problem with your software, try to give Valgrind and strace a shot. You could be surprised by the results.
2010-03-10 » Laurent Parenteau