Using “Solving Problems” as the title for this chapter was a very conscious decision. I intentionally avoided calling it “Troubleshooting” for several reasons. First, troubleshooting has always seemed to me to be the process by which we look for the causes of problems. Although that seems like a noble task, so often finding the cause of the problem doesn’t necessarily mean finding the means to correct it or understanding the problem.
The next reason is that so often I find books in which the troubleshooting section is just a list of problems and canned solutions. I find this comparable to the sign “In case of fire, break glass.” When you break the glass an alarm goes off and the fire department comes and puts out your fire. You may never know what really caused the problem nor what you can do to solve similar problems in the future.
The troubleshooting sections that I find most annoying list 100 problems and 100 solutions, but I usually have problem 101. Often I can find something that is similar to my situation, and, with enough digging through the manuals and poking and prodding the system, I eventually come up with the answer. Even if the answer is spelled out, it’s usually a list of steps to follow to correct the problem. There are no details about what caused the problem in the first place or what the listed steps are actually doing.
Not all problems are alike, and not all problems can be approached in the exact same manner. However, there are some basic issues that are common to every problem and there are basics steps you can take, no matter what the cause.