Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
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.
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.