最近,我使用 Visual Studio 和 WinDbg 对托管应用程序进行了大量调试,因此我经常被要求协助同事进行调试。有好几次我发现人们只是到处插入断点并希望得到最好的结果。根据我的经验,这很少是一种有用的技术。
我的方法是这样的。
重现问题。理想情况下,尽可能减少输入。
检查出了什么问题并列出了错误可能出在哪里的理论。
通过调试代码的特定区域一次检查一种理论。
根据需要重复步骤。
对于复杂的调试问题,我经常与同事合作。对于 WinDbg 这尤其有用。
还有其他有用的调试技巧或最佳实践吗?
如果我可以向大家提供一个有关调试的技巧,那就是再次打破它。
也就是说,当您认为已经找到修复并且系统似乎可以工作时。返回修复程序并查看系统是否再次崩溃。
有时,您可能会迷失在您尝试过的潜在解决方案的顺序中,并且在调试问题时会在系统的完全不同的区域中完成。然后你就会忘记你在原来工作的地方做了什么改变。
支持修复然后重现问题可确保候选修复不依赖于您在系统其他部分中更改的其他内容。您的修复补丁是一个正确的独立解决方案。
HTH.
cheers,
Rob
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)