minidumpso2o是什么意思思

1614人阅读
浏览器研究(17)
&& 上一篇中描述了在Windows平台下产生Debug信息的一些背景知识,这一篇中我们介绍一下Chrome的Crash Report服务上报了哪些信息。
按照我们上篇所介绍的,如果应用程序比较复杂,堆栈比较深,一个异常产生的PDB文件也许是几十MB,甚至上百MB,要把这么大的文件上传到服务器,无论从性能上、还是可靠性上都是一个问题,如果用户知道了,估计也不会买账。
在Windows XP之后,Microsoft为我们提供了一个新的dump库,称为minidumps库,这个库为我们提供了定制化的实现,我们可以根据自己的需要定制产生的dump内容。缺省设置下,已经可以获取到发生异常时的堆栈信息以及一些局部变量值,而相应产生的dump文件只有几十到几百KB级别。这个数量级的内容,传输起来就相对方便多了。
minidumps主要包含在DBGHelp.dll库中,这个库中包含了MiniDumpWriteDump 函数:
BOOL MiniDumpWriteDump(
HANDLE hProcess,
DWORD ProcessId,
HANDLE hFile,
MINIDUMP_TYPE DumpType,
PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
PMINIDUMP_CALLBACK_INFORMATION CallbackParam
DumpType参数表示了dump的类型:
typedef enum _MINIDUMP_TYPE {
MiniDumpNormal = 0x,
MiniDumpWithDataSegs = 0x,
MiniDumpWithFullMemory = 0x,
MiniDumpWithHandleData = 0x,
MiniDumpFilterMemory = 0x,
MiniDumpScanMemory = 0x,
MiniDumpWithUnloadedModules = 0x,
MiniDumpWithIndirectlyReferencedMemory = 0x,
MiniDumpFilterModulePaths = 0x,
MiniDumpWithProcessThreadData = 0x,
MiniDumpWithPrivateReadWriteMemory = 0x,
MiniDumpWithoutOptionalData = 0x,
MiniDumpWithFullMemoryInfo = 0x,
MiniDumpWithThreadInfo = 0x,
MiniDumpWithCodeSegs = 0x,
MiniDumpWithoutManagedState = 0x,
} MINIDUMP_TYPE;
大家可以观察到可定制化的种类还是挺多的。具体的参数意义和函数说明,请大家参考MSDN上的说明,亦可以参考DebugInfo上的
一文介绍。
&& Chrome上报的内容就是基于minidumps库来实现的,Chrome在此基础上稍微做了一些调整。
在Chrome中,Crash Report服务当程序Crash时,将会上报Dump信息到Google的一个URL(
在下一篇中,我们将进入正题,讨论Chrome中是如何实现Crash信息采集和上报的。
1. Chrome是如何捕获到异常的?
2. Chrome是如何在进程外实现dump文件的转储的?
3. Chrome是如何实现上传的?
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:191042次
积分:1999
积分:1999
排名:第13486名
原创:27篇
评论:39条
(5)(1)(1)(1)(1)(6)(7)(9)minidumps是什么意思_百度知道
minidumps是什么意思
minidumps是什么意思
提问者采纳
小型仓库。。。
是否可理解为虚拟内存?
虚拟内存的英文不是virtual memory?要看你这个出处的语境,前后文来理解
提问者评价
太给力了,你的回答完美地解决了我的问题,非常感谢!
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁JVM报错“Failed to write core dump“是什么问题,如何解决_百度知道
JVM报错“Failed to write core dump“是什么问题,如何解决
提问者采纳
这样HotSpot VM在crash时就会调用Windows的MiniDumpWriteDump()函数写出这句话是HotSpot VM打印出来的:+CreateMinidumpOnCrash://www://www:How to enable minidumps in Java for Windows&quot. Minidumps are not enabled by default on client versions of Windows作者:, size_t bufferSize)HotSpot VM在非server版的(也就是client版的)Windows上选择默认不写出minidump,会记录导致crash的错误的摘要信息.com/question//answer/来源,请指定 -XX,转载请联系作者获得授权, void* contextRecord.zhihu,来源在一般问题是这样.Minidumps are not enabled by default on client versions of Windows&quot, char* buffer。没啥特别的原因:void os。要让HotSpot VM在client版Windows上写出minidump:check_or_create_dump(void* exceptionRecord:http。接下来您需要这个传送门:# Failed to write core dump:RednaxelaFX链接,以便开发者可以事后调查crash的原因,就是免得用户在不想要crash dump的时候看到crash后有文件写出来心烦
来自团队:
其他类似问题
为您推荐:
jvm的相关知识
其他2条回答
Failed to write core dump 写核心转储失败
  操作系统有文件错误,该信息表示程序非正常终止 也有可能是程序对堆栈的处理不当,建议重新下载这个程序,到不同服务器下载。 下面是我在网上找的 Runtime Error 的解释如下 Runtime error就是在运行期间出现的错误,运行时错误不同于炸弹或系统.  就症状来看,是因为连接电脑后需要等待驱动全部安装完毕,识别出手机,并且手机和电脑间建立连接的软件全部启动后才行。比较慢,急着启动ROOT程序会导致出现上述错误。不要断开连接,重复上述程序能解决问题。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁JVM报错“Failed to write core dump“是什么问题,如何解决?
安装matlab时程序闪退,JVM生成日志如下:# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows什么是Minidump?为什么not enabled?
按投票排序
传送门:Minidump是Windows上的程序crash的时候可以写出的一种小型crash dump,会记录导致crash的错误的摘要信息,以便开发者可以事后调查crash的原因。接下来您需要这个传送门:"Minidumps are not enabled by default on client versions of Windows"这句话是HotSpot VM打印出来的,来源在:void os::check_or_create_dump(void* exceptionRecord, void* contextRecord, char* buffer, size_t bufferSize)
HotSpot VM在非server版的(也就是client版的)Windows上选择默认不写出minidump。没啥特别的原因,就是免得用户在不想要crash dump的时候看到crash后有文件写出来心烦。要让HotSpot VM在client版Windows上写出minidump,请指定 -XX:+CreateMinidumpOnCrash,这样HotSpot VM在crash时就会调用Windows的MiniDumpWriteDump()函数写出minidump。
您好,我想问下,怎么出现了这个Unrecognized VM option '+CreateMinidumpOnCrash'
果然还是知乎靠谱
很不错,知乎上的答案或者解决方法就是靠谱
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 cp是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信