Quote:Heisenbugs are usually resolved through very careful debugging. This works best if one is able to identify the approximate point in code where the bug is occurring. From there, solutions may be sought from inspection of nearby statements or analysis of process dumps. Another technique is to examine logs, especially those produced by lint and lint-like tools. For highly persistent heisenbugs, it may be necessary to analyze all possible traces of the program using static analysis techniques such as abstract interpretation to determine their cause.
Heisenbugs are usually resolved through very careful debugging. This works best if one is able to identify the approximate point in code where the bug is occurring. From there, solutions may be sought from inspection of nearby statements or analysis of process dumps.
Another technique is to examine logs, especially those produced by lint and lint-like tools.
For highly persistent heisenbugs, it may be necessary to analyze all possible traces of the program using static analysis techniques such as abstract interpretation to determine their cause.
Quote:As I mentioned before, a Heisenbug occurs when trying to check the state of an object. These types of defects are common with concurrency issues are present. Microsoft has put out a library to help diagnose these problems: CHESS (http://msdn.microsoft.com/en-us/devlabs/cc950526.aspx).
As I mentioned before, a Heisenbug occurs when trying to check the state of an object. These types of defects are common with concurrency issues are present. Microsoft has put out a library to help diagnose these problems: CHESS (http://msdn.microsoft.com/en-us/devlabs/cc950526.aspx).
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)