dnstrace uses the standard DNS resolution algorithm, but follows all possible paths in the algorithm. It prints all responses it receives from DNS servers; it also prints warnings about slow servers, dead servers, misdelegated (``lame'') servers, and misformatted packets. dnstrace is similar in spirit to DOC and dnswalk but is much more effective than those tools at debugging resolution problems.
You can pipe dnstrace through dnstracesort for human-friendly output. dnstrace can take a long time to run, so standard procedure is to save its output in a file:
dnstrace any www.aol.com a.root-servers.net > AOL &
Then you can run dnstracesort to see the results so far:
dnstracesort < AOL | less
The dnstracesort output uses ul codes for boldface and underline; these codes are displayed properly by less.
Beware that, as of February 2000, dnstrace produces half a megabyte of output for the complete trace of a typical .com name starting from all the root servers. There are more than 200 computers around the world that can affect all .com names. Including IPv6 address lookup (June 2018) the amount of output data is roughly doubled.