Shotgun Debugging

What Does Shotgun Debugging Mean?

Shotgun debugging is the process of introducing undirected changes into any software to be tested in the hope of perturbing bugs out of existence. This is a good example of a trial-and-error case and it works well with small programs. If it is not handled effectively, shotgun debugging may introduce additional bugs.


Techopedia Explains Shotgun Debugging

Shotgun debugging is considered a software equivalent to Easter egging, which is the act of replacing unrelated components in the hope that a malfunction disappears. It is the debugging of a hardware or system problem after trying several possible solutions at the same time where any one alternative may work well. Although this may be successful in some cases, it may also incur the risk of introducing new bugs.Shotgun debugging works with multithreaded applications. Any attempt to debug a race condition by adding debugging code changes the speed of one thread in relation to another. Such a relative move can often cause the problem to disappear. However, any other changes that affect the thread’s behavior could cause the same problem to resurface.


Related Terms

Latest Privacy and Compliance Terms

Related Reading

Margaret Rouse

Margaret Rouse is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical, business audience. Over the past twenty years her explanations have appeared on TechTarget websites and she's been cited as an authority in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine and Discovery Magazine.Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages. If you have a suggestion for a new definition or how to improve a technical explanation, please email Margaret or contact her…