minidump蓝屏解决方法

发布时间:2025-03-04 08:33:16 来源:君肯网

minidump蓝屏解决方法如下:

1、判断屏幕信息,蓝屏重启是最常见的问题,蓝屏时屏幕会显示大致的运行情况;

2、可以先尝试根据显示的错误信息排查,或者直接搜索错误代码就能找到和你有相同遭遇的人,看看他们的案例通常也会有帮助;

3、因为蓝屏是多因一果的故障,有时候并不能直接从屏幕信息找出原因,其实在每次电脑意外停止时,都会生成一个详细的运行记录,帮助你找到故障所在,这个文件保存在C:\Windows\minidump文件夹中,里面可能有多个文件。

4、分析“dump”文件,dump文件需要用专门的软件打开。

5、BlueScrennView默认只有英文,如果你需要汉化可以在下方下载对应的汉化补丁,将汉化补丁和程序放在同一个文件夹内即可;

6、下载后以管理员身份打开后它就可以自动读取dump文件;

7、上方显示dump文件,下方默认显示驱动;

8、你也可以在菜单栏–选项–显示下方面板中选择不同的显示模式,比如模拟XP样式的蓝屏信息。

电脑c盘windows文件夹下minidump文件是什么?

dmp文件是内存转储文件,是在某一程序出现错误时自动把内存的内容存储到里面,供专业人员寻找错误原因以便进行调试。对大多数一般用户而言是没有任何用处的,可以删除。如果不放心,可以先放入回收站,过一段时间没有什麽问题再彻底删除。

小存储器转储文件记录可帮助确定计算机为什么意外停止的最小的有用信息集。此选项要求启动卷上有一个至少为 2 MB 的页面文件。

在运行 Microsoft Windows 2000 或更高版本的计算机上,计算机每次意外停止时 Windows 都会新建一个文件。这些文件的历史记录按照日期命名,存储在以下文件夹中,如:C:\WINDOWS\Minidump\Mini010806-02.dmp。

扩展资料:

C盘内容尽量隐藏。由于C盘的重要性最好不要随意将各种文件内容存入C盘,一般软件的默认路径为C:\Program Files\,所以尽量将一些文件安装到其他盘,否则电脑运行速度会越来越慢, 不要随便把文件或游戏什么的放在C盘。

Silverlight是于Adobe Flash基本相同的软件,运行在浏览器中的插件。实现交互、动画等 功能。使用XAML文件支持,支持.net运行库。

参考资料来源:百度百科-C盘

如何让程序抓到dump文件,MiniDumpWriteDump

 MiniDump :小存储器转储文件夹。\x0d\x0a小存储器转储文件记录可帮助确定计算机为什么意外停止的最小的有用信息集。此选项要求启动卷上有一个至少为 2 MB 的页面文件。在运行 Microsoft Windows 2000 或更高版本的计算机上,计算机每次意外停止时 Windows 都会新建一个文件。这些文件的历史记录按照日期命名,存储在以下文件夹中如: C:\WINDOWS\Minidump\Mini010806-02.dmp。\x0d\x0a该转储文件类型包括以下信息: \x0d\x0a消息及其参数和其他数据 \x0d\x0aStop加载的驱动程序的列表\x0d\x0a已停止的处理器的上下文 (PRCB)\x0d\x0a已停止的进程的信息和内核上下文 (EPROCESS) \x0d\x0a已停止的进程的信息和内核上下文 (ETHREAD)\x0d\x0a已停止的线程的内核模式调用堆栈。\x0d\x0a当硬盘空间有限时,小存储器转储文件十分有用。但是,由于包括的信息有限,因此,通过分析此文件,可能无法发现并非由正在运行的线程在出现问题时直接导致的错误。\x0d\x0a用于读取小存储器转储文件的工具:\x0d\x0a可以使用转储检查实用工具 (Dumpchk.exe) 加载小存储器转储文件,还可以使用 Dumpchk.exe 验证是否正确创建了存储器转储文件。转储检查实用工具不要求访问调试符号。Microsoft Windows 2000 支持工具和 Microsoft Windows XP 支持工具中包含有转储检查实用工具。

程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。

步骤:

1) 打开WinDBG并将之Attach 到crash的程序进程

2) 输入产生dump 文件的命令

WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。

选项(1): /m

命令行示例:.dump /m C:\dumps\myapp.dmp

注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模块(DLL)信息、 进程信息和线程信息。

选项(2): /ma

命令行示例:.dump /ma C:\dumps\myapp.dmp

注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。

选项(3):/mFhutwd

命令行示例:.dump /mFhutwd C:\dumps\myapp.dmp

注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。

上面介绍如如何用WinDBG 生成crash dump 《WinDBG 技巧:如何生成Dump 文件(.dump 命令) 》,但是用户机器上通常不安装WinDBG, 而且多数用户也不知道怎么使用WinDBG。 所以最好是自己程序里面能够捕捉exception/crash,并且生成crash dump,然后通过网络传回到自己服务器。

捕捉exception 可以用API 函数 SetUnhandledExceptionFilter 。

生成crash dump 可以用DbgHelp.dll 里面的MiniDumpWriteDump 函数。

LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter( __in LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter )

BOOL WINAPI MiniDumpWriteDump( __in HANDLE hProcess, __in DWORD ProcessId, __in HANDLE hFile, __in MINIDUMP_TYPE DumpType, __in PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam, __in PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam, __in PMINIDUMP_CALLBACK_INFORMATION CallbackParam )

【代码实例】

#include &ltdbghelp.h&gt

#include &ltshellapi.h&gt

#include &ltshlobj.h&gt

// 自定义的exectpion filter

LONG WINAPI MyUnhandledExceptionFilter(struct _EXCEPTION_POINTERS*pExceptionPointers)

{

SetErrorMode( SEM_NOGPFAULTERRORBOX )

//收集信息

CStringW strBuild

strBuild.Format(L”Build: %s %s”, __DATE__, __TIME__)

CStringW strError

HMODULE hModule

WCHAR szModuleName[MAX_PATH] = L””

GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS,(LPCWSTR)pExceptionPointers-&gtExceptionRecord-&gtExceptionAddress,&amphModule)

GetModuleFileName(hModule, szModuleName, ARRAYSIZE(szModuleName))

strError.AppenedFormat(L”%s %d , %d ,%d.”,szModuleName,pExceptionPointers-&gtExceptionRecord-&gtExceptionCode,pExceptionPointers-&gtExceptionRecord-&gtExceptionFlags,pExceptionPointers-&gtExceptionRecord-&gtExceptionAddress)

//生成 mini crash dump

BOOL bMiniDumpSuccessful

minidump蓝屏解决方法

WCHAR szPath[MAX_PATH]

WCHAR szFileName[MAX_PATH]

WCHAR* szAppName = L”AppName”

WCHAR* szVersion = L”v1.0”

DWORD dwBufferSize = MAX_PATH

HANDLE hDumpFile

SYSTEMTIME stLocalTime

MINIDUMP_EXCEPTION_INFORMATION ExpParam

GetLocalTime( &ampstLocalTime )

GetTempPath( dwBufferSize, szPath )

StringCchPrintf( szFileName, MAX_PATH, L”%s%s”, szPath, szAppName)

CreateDirectory( szFileName, NULL )

StringCchPrintf( szFileName, MAX_PATH, L”%s%s\\%s-%04d%02d%02d-%02d%02d%02d-%ld-%ld.dmp”,

szPath, szAppName, szVersion,

stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay,

stLocalTime.wHour, stLocalTime.wMinute,stLocalTime.wSecond,

GetCurrentProcessId(), GetCurrentThreadId())

hDumpFile = CreateFile(szFileName, GENERIC_READ|GENERIC_WRITE,

FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0,0)

MINIDUMP_USER_STREAM UserStream[2]

MINIDUMP_USER_STREAM_INFORMATION UserInfo

UserInfo.UserStreamCount = 1

UserInfo.UserStreamArray = UserStream

UserStream[0].Type = CommentStreamW

UserStream[0].BufferSize = strBuild.GetLength()*sizeof(WCHAR)

UserStream[0].Buffer = strBuild.GetBuffer()

UserStream[1].Type = CommentStreamW

UserStream[1].BufferSize = strError.GetLength()*sizeof(WCHAR)

UserStream[1].Buffer = strError.GetBuffer()

ExpParam.ThreadId = GetCurrentThreadId()

ExpParam.ExceptionPointers = pExceptionPointers

ExpParam.ClientPointers = TRUE

MINIDUMP_TYPE MiniDumpWithDataSegs = MiniDumpNormal

| MiniDumpWithHandleData

| MiniDumpWithUnloadedModules

| MiniDumpWithIndirectlyReferencedMemory

| MiniDumpScanMemory

| MiniDumpWithProcessThreadData

| MiniDumpWithThreadInfo

bMiniDumpSuccessful = MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),

hDumpFile, MiniDumpWithDataSegs, &ampExpParam, NULL,NULL)

// 上传mini dump 到自己服务器(略)

return EXCEPTION_CONTINUE_SEARCH//或者 EXCEPTION_EXECUTE_HANDLER 关闭程序

}

int _tmain()

{

// 设置 execption filter

SetUnhandledExceptionFilter(MyUnhandledExceptionFilter)

….

return 0

}

正常情况下不会生成dump,需要自己在程序中添加代码实现,一般是利用MS的dbghelp.dll提供的DbgHelpCreateUserDump来生成,用WinDbg来分析,期间需要编译程序生成的.pdb文件。可以参考BlackBox、google breakpad等

crash 文件生成的路径:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]

”Auto”=”0”

”Debugger”=”\”D:\\WinDBG\\ntsd.exe\” -p %ld -e %ld -g -noio -c \”.dump /ma /u d:\\dbgdmp\\dmp.dmpq”

”UserDebuggerHotKey”=dword:00000000

以上就是关于minidump蓝屏解决方法全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

minidump蓝屏解决方法如下: 1、判断屏幕信息,蓝屏重启是最常见的问题,蓝屏时屏幕会显示大致的运行情况; 2、可以先尝试根据显示的错误…
查看详情
minidump蓝屏解决方法如下: 1、判断屏幕信息,蓝屏重启是最常见的问题,蓝屏时屏幕会显示大致的运行情况; 2、可以先尝试根据显示的错误…
查看详情
minidump蓝屏解决方法如下: 1、判断屏幕信息,蓝屏重启是最常见的问题,蓝屏时屏幕会显示大致的运行情况; 2、可以先尝试根据显示的错误…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载