Today, I help one college resolved the following issue:
Invoke one command is always crashing the product, and this issue is only reproduced on the installer build.
As usual, we attach Visual Studio to the product, and we got the call stack when the product crash. But the call stack can't tell nothing useful information since we are running with the installer product. So we tried to prepare the PDBs to the product to ensure we can get some useful information from the call stack. One hour passed, two hour passed. But we still have nothing towards this way.
Then we realized that the reasons of this issue maybe because some module can't be located with the installer build. Then we use the Process Monitor to monitor the product. Finally, we identify there are some module is missing in the installer build. The issue is resolved by adding the missing modules in the setup.
Following are some lessons from this investigation:
-
The first step of the defect fixing should be "Understand the problem clear".
-
Do assumption based on the understanding.
"We realized that the reasons of this issue maybe because some module can't be located with the installer build."
-
Do some investigation to verify the assumption.
"Use the Process Monitor to monitor the product"
-
Debugging should always the last step to resolve the issue since it is the heaviest way to resolve the issue.