作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
借助 .NET 4.0 中的转储调试支持,我们正在自动(当然是在询问用户之后:)创建 C# 程序崩溃的小型转储,并将其上传到我们的问题跟踪系统(以便小型转储可以帮助解决问题)崩溃的原因)。
使用 WithFullMemory 小型转储类型时一切正常。我们可以看到堆栈和堆变量。不幸的是,即使对于小型 C# 程序,(压缩的)转储也相当大。
如果我们使用“正常”小型转储类型,我们会得到一个非常小的转储,但托管调试器中甚至没有堆栈变量信息可用。事实上,任何小于 WithFullMemory 的东西在托管调试器中似乎都是毫无用处的。我们已经尝试使用 MINIDUMP_CALLBACK_ROUTINE 将包含的模块信息限制为我们自己的模块,但似乎它对托管转储几乎没有影响,但仍然设法破坏托管调试?
有人对如何修剪小型转储同时保持其对托管调试有用有任何提示吗?
最佳答案
我使用以下标志来节省空间,将为 C++ 应用程序生成有用的小型转储:
MiniDumpWithPrivateReadWriteMemory |
MiniDumpWithDataSegs |
MiniDumpWithHandleData |
MiniDumpWithFullMemoryInfo |
MiniDumpWithThreadInfo |
MiniDumpWithUnloadedModules
标志值在 DbgHelp.h 中指定,需要将其编码到 C# 中。通过指定 CallbackRoutine 进一步限制转储。
关于debugging - 减少托管程序的小型转储的大小,同时保留一些堆信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3344310/
我正在为我的应用程序使用 Tank-Auth。我唯一的问题是激活和重置帐户密码。 用于登录、注册、注销;我对这些代码没有问题; $route['login'] = "/auth/login"; $ro
我是一名优秀的程序员,十分优秀!