Debugging Non-Reproducible Issue with IntelliTrace
Thursday, August 26th, 2010“Not being able to reproduce it, not a bug” is a developer’s main philosophy. And generally it can be accepted as a fact. This is one challenge which continues to appear in different forms and testers need to spend a considerable amount of time analyzing environments, build versions, preconditions, and code without any guarantee that any verification process will provide precise information to what caused an issue.
So, are non reproducible bugs one of the most frustrating and toughest challenges for a QA?
One of the most interesting improvements in the Microsoft Visual Studio 2010 which should help both developers and testers is the option to collect IntelliTrace files during the test process. New Visual Studio 2010 allows testers to save rich test logs when running test cases and attach them with the bug. Developers can debug the code reproducing the steps recorded in those files, they can go back and forward in the call stack and analyze parameters and result values. The main advantage is that the developer’s environment can be completely different from the one where the file has been recorded. This is accomplished by deploying the IntelliTrace diagnostic data adapter (DDA) to the target system as part of the Visual Studio Test Agent or by deploying the IntelliTrace.exe command-line utility.
IntelliTrace has two main modes it can run under. In the default mode, IntelliTrace will just be collecting debugging data at the predefined IntelliTrace event points. While in the “methods and calls” mode, IntelliTrace will be collecting debugging data (including method parameters and return values) for all function inputs and outputs for all included modules. The “methods and calls” mode provides a lot of additional information about your application’s recorded execution path, but at a substantially higher cost in terms of time overhead and log file size.
However, there are several drawbacks related to this feature:
- The IntelliTrace DDA and/or IntelliTrace.exe cannot be used on a machine or a server in the production environment
- IntelliTrace files created using either methods can be opened and debugged only by using Visual Studio Ultimate.