在Release中,minIDump数据包含足够的堆栈信息,以便调试器计算出代码中发生故障的位置,但没有其他数据.我不仅仅意味着由于优化而缺少局部变量,正如您在Release版本中所期望的那样 – 我的意思是除了调用堆栈和当前代码行之外没有任何其他用处.没有寄存器,没有本地,没有全局,没有当地人指向的对象 – 什么都没有.我们甚至没有得到’this’,这将允许我们查看当前对象.这是使用MinIDumpWithindirectlyReferencedMemory的要点 – 它应该包含本地和堆栈变量引用的内存,但似乎不是.
我们应该使用什么标志呢?我们不想使用MinIDumpWithFullMemory并开始生成600MB转储,但如果它意味着获得更多有用的数据,我们很乐意将转储扩展到我们目前获得的90KB之外.也许我们应该使用MinIDumpWithDataSegments(全局)或……?
解决方法 WinDbg对.dump / ma使用以下标志:0:003> .dumpdeBUG----- User Mini Dump AnalysisMINIDUMP_header:Version A793 (62F0)NumberOfStreams 13Flags 41826 0002 MinIDumpWithFullMemory 0004 MinIDumpWithHandleData 0020 MinIDumpWithUnloadedModules 0800 MinIDumpWithFullMemoryInfo 1000 MinIDumpWithThreadInfo 40000 MinIDumpWithTokeninformation
我建议你用MinIDumpWithindirectlyReferencedMemory替换MinIDumpWithFullMemory.
总结以上是内存溢出为你收集整理的c – 我应该使用Minidumps进行哪些设置?全部内容,希望文章能够帮你解决c – 我应该使用Minidumps进行哪些设置?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)