Every now and then I use the mdb debugger to examine core dumps on Solaris. One nice article that I looked at to get up to speed on the possibilities with mdb is http://blogs.oracle.com/ace/entry/mdb_an_introduction_drilling_sigsegv where the author performs a step-by-step examination of a SIGSEGV crash. In the article the author uses “walkers” which is a kind of add-on to mdb that can perform specific tasks.
My problem is that I don’t have any of those walkers in my mdb. By using the “::walkers” command, all walkers available can be listed and my list is empty. So the question is, how can I install/add/load walkers such as the ones used in the above article? I don’t really know where they are supposed to be loaded from, if you have to download and add them from somewhere or if it’s a configuration step when installing Solaris?
mdb automatically loads walkers and dcmds appropriate for what you’re debugging, usually from /usr/lib/mdb and similar directories (see mdb(1) for details). If you just run “mdb” by itself, you’ll get almost nothing. If you run “mdb” on a userland process or core dump (e.g., “mdb $$”), you’ll get walkers and dcmds appropriate for userland debugging. If you run “mdb” on the kernel (e.g., “mdb -k”), you’ll get walkers and dcmds for kernel debugging.