c – 我应该使用Minidumps进行哪些设置?

c – 我应该使用Minidumps进行哪些设置?,第1张

概述目前我们用MiniDumpNormal |调用MiniDumpWriteDump MiniDumpWithIndirectlyReferencedMemory标志.这适用于Debug配置中的内部构建,但是没有提供我们在Release配置中所需的尽可能多的信息. 在Release中,minidump数据包含足够的堆栈信息,以便调试器计算出代码中发生故障的位置,但没有其他数据.我不仅仅意味着由于优化而 目前我们用MinIDumpnormal |调用MinIDumpWriteDump MinIDumpWithindirectlyReferencedMemory标志.这适用于DeBUG配置中的内部构建,但是没有提供我们在Release配置中所需的尽可能多的信息.

在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进行哪些设置?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1237735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存