Shotgun Debugging

Definition - 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.

Share this:

Connect with us

Email Newsletter

Join thousands of others with our weekly newsletter

The 4th Era of IT Infrastructure: Superconverged Systems
The 4th Era of IT Infrastructure: Superconverged Systems:
Learn the benefits and limitations of the 3 generations of IT infrastructure – siloed, converged and hyperconverged – and discover how the 4th...
Approaches and Benefits of Network Virtualization
Approaches and Benefits of Network Virtualization:
Businesses today aspire to achieve a software-defined datacenter (SDDC) to enhance business agility and reduce operational complexity. However, the...
Free E-Book: Public Cloud Guide
Free E-Book: Public Cloud Guide:
This white paper is for leaders of Operations, Engineering, or Infrastructure teams who are creating or executing an IT roadmap.
Free Tool: Virtual Health Monitor
Free Tool: Virtual Health Monitor:
Virtual Health Monitor is a free virtualization monitoring and reporting tool for VMware, Hyper-V, RHEV, and XenServer environments.
Free 30 Day Trial – Turbonomic
Free 30 Day Trial – Turbonomic:
Turbonomic delivers an autonomic platform where virtual and cloud environments self-manage in real-time to assure application performance.