http://support.microsoft.com/kb/953102
我们在圣诞节假期期间花了大约50个小时来识别这个问题,导致我们的关键业务生产应用程序随机崩溃。
问题是源代码没有堆栈跟踪,只有堆栈跟踪底部的NativeWindow.Callback等本机代码。
你会用来调试这类问题的任何工具吗?
答案 0 :(得分:4)
如果您可以容忍,请添加大量日志记录。
猜测它发生的位置,并将该代码括在entered Foo
和exited Foo
日志中。然后,如果你在崩溃中看到一个而不是另一个,你知道它在某处,所以开始二进制(或n-ary)搜索,根据需要潜入函数。在某种程度上,你需要卷起你后面的地毯以保持日志的大小,但只要经常合理地生成崩溃你就应该能够以这种方式归零。
我有一个应用程序,我已经完成了这个(我不能在它的预期环境中以任何其他方式调试它)并发现它是有效的,而且说你使用1M +行日志有点令人印象深刻文件(对于大量日志记录,以及对大型测试用例<g>
)