精华内容
下载资源
问答
  • 1、 要清楚,Dump文件Windows启动的一个保险机制,而蓝屏主要是用做给系统争取时间进行收集Dump文件所用,所以一个逻辑是必然会有的,那就是如果蓝屏必然触发Dump机制,Dump机制会根据系统设置进行Mini或Full的...

    如何确保有Dump文件?

    1、 要清楚,Dump文件是Windows启动的一个保险机制,而蓝屏主要是用做给系统争取时间进行收集Dump文件所用,所以一个逻辑是必然会有的,那就是如果蓝屏必然触发Dump机制,Dump机制会根据系统设置进行Mini或Full的收集。

    2、 关于Dump文件的大小,如果Dump设置的存放位置不满足Dump文件大小也是不会产生Dump文件:

    a) MiniDump文件大小:取决于Windows 运行时内存页大小,比如当前CVM跑的是数据库,那么产生的Dump文件大小就是数据库交换内存的概要信息,比如说16G内存有20%被使用,宕机时所产生的Dump文件就是3.2g的概要信息(即涉及到的进程的大概地址)

    b) FullDump文件大小:取决于Windows物理内存大小,FullDump即完整收集模式,将整个系统在宕机时的整个内存运行态进行记录,通常该文件的大小是物理大小的1.0 ~ 1.5倍左右(倍数的浮动取决于虚拟内存交换设置的大小)

    3、 所以,要确保有Dump文件,最低条件是:

    a) 开启Windows系统的Dump

    b) 确保设置的位置剩余空间是物理内存1.5倍以上

    c) 若要完整的Dump日志进行分析,请选择完整收集模式

    注1:QCloud Windows Server 2008R2为避免磁盘风险,默认不开启FullDump模式,所以如果需要详细Debug文件,则手动开启即可:
    如果您想要启用完全内存转储选项,手动设置为 0x1 以下注册表子项下的CrashDumpEnabled注册表项并重新启动 Windows:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl

    启动和故障恢复的注册表值

    使用下面的注册表值:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CrashControl
    CrashDumpEnabled REG_DWORD 0x0 = 无
    CrashDumpEnabled REG_DWORD 0x1 = 完全存储器转储
    CrashDumpEnabled REG_DWORD 0x2 = 核心内存转储
    CrashDumpEnabled REG_DWORD 0x3 = 小内存转储 (64 KB)

    CrashDumpEnabled REG_DWORD 0x7 =自动内存转储
     

    CrashControl 的额外的注册表值:

    0x0 = 禁用
    0x1 = 已启用

    AutoReboot REG_DWORD 0x1
    转储文件 REG_EXPAND_SZ %SystemRoot%\Memory.dmp
    LogEvent REG_DWORD 0x1
    MinidumpDir REG_EXPAND_SZ %SystemRoot%\Minidump
    覆盖 REG_DWORD 0x1
    SendAlert REG_DWORD 0x1


    注意: 您必须重新启动 Windows 以使更改生效。

    BSOD有三大规则会触发:

    • 保护规则:当低级特权的代码直接访问高级特权代码与数据时(如某些安全防护软件通过用户态进行驱动修改)就会触发BSOD;
    • 异常处理:程序异常时程序本身没有写好完整的异常处理回路,系统接收到异常则启动先行中断机制,所以程序设计存在问题时也有可能触发蓝屏(比如之前0Day漏洞黑客所用的工具导致蓝屏,明显就是没有写好异常处理回路)
    • SDK、DDK中调用了只有在特定IRQL调用的内核参数,即只有特定CPU中断请求的时候才可以使用DDK调用的内核参数在未到中断请求时被发起调用(一般出现于.Net Winform应用中)

    在腾讯云主机上,一般第一、二规则导致的BSOD Case比较多。

    附蓝屏产生过程:

    转储原理:

     

    展开全文
  • windowsdump文件调试

    2016-06-12 15:27:00
    dump调试:在系统中异常或者崩溃的时候,来生成dump文件,然后用调试器来调试。这样就可以在生产环境中的dmp文件,拷贝到自己的开发机器上,调试就可以找到错误的位置,配合程序调试符号pdb文件,直接可以定位到源...

    dump调试:在系统中异常或者崩溃的时候,来生成dump文件,然后用调试器来调试。这样就可以在生产环境中的dmp文件,拷贝到自己的开发机器上,调试就可以找到错误的位置,配合程序调试符号pdb文件,直接可以定位到源代码中位置。

    程序打包后,遇见崩溃,但是不知道崩溃在哪里。这时候如果生成了.dump文件,那么我们就可以使用.dump文件来调试到底在哪里崩溃了。

    打开dump文件,根据dump文件中

    提供的崩溃程序完整路径,把运行程序按照以上路径放置。然后把源码还原到打包该程序时候的版本,然后编译。在存放pdb文件夹中放置好之前打包程序时编译的.pdb文件。

    在设置.pdb文件的符号路径中插入pdb文件的完整路径。

    然后点击使用本机进行调试。一般情况下就可以看到程序是在哪里崩溃了。

    dump文件可以是代码创建或者

    转载于:https://www.cnblogs.com/lisuyun/p/5577714.html

    展开全文
  • 程序运行一段时间之后,意外退出,...我们可以生成dump文件,定位出错位置。 在工程中添加代码: mdump.h #ifndef MDUMP1_H #define MDUMP1_H #include <Windows.h> #include <DbgHelp.h> // base...

    程序运行一段时间之后,意外退出,没有提示任何出错信息,这种情况可能是内存泄漏,但是没有提示错误信息,很难定位到具体代码。我们可以生成dump文件,定位出错位置。

    在工程中添加代码:

    mdump.h

    #ifndef MDUMP1_H
    #define MDUMP1_H
    
    #include <Windows.h>
    #include <DbgHelp.h>
    
    // based on dbghelp.h
    typedef BOOL (WINAPI *MINIDUMPWRITEDUMP)(HANDLE hProcess, DWORD dwPid, HANDLE hFile, MINIDUMP_TYPE DumpType,
    									CONST PMINIDUMP_EXCEPTION_INFORMATION ExceptionParam,
    									CONST PMINIDUMP_USER_STREAM_INFORMATION UserStreamParam,
    									CONST PMINIDUMP_CALLBACK_INFORMATION CallbackParam
    									);
    
    #define MAX_WARNING_MESSAGE_PATH 1024
    
    class MiniDumper
    {
    private:
    	static LPCWSTR m_szAppName;
    
    	static LPWSTR m_szAppVersion;
    
    	static LPWSTR m_szAppBuildNumber;
    
    	static WCHAR m_szMessageText[MAX_WARNING_MESSAGE_PATH];
    
    	static LPWSTR m_szDumpFilePath;	
    	
    	static LONG WINAPI TopLevelFilter( struct _EXCEPTION_POINTERS *pExceptionInfo );
    
    public:
        MiniDumper( );
    	~MiniDumper();
    	static void SetVersion(LPCWSTR szVersion);
    	static void SetBuildNumber(LPCWSTR szBuildNumber);
    	static void SetDumpFilePath(LPCWSTR szFilePath);
    	static int SetWarningMessage(LPCWSTR szMessageText)
    	{
    		if(szMessageText)
    		{
    			int iLen = wcslen(szMessageText);
    			if(iLen < MAX_WARNING_MESSAGE_PATH - MAX_PATH)
    			{
    				wcscpy(m_szMessageText,szMessageText);
    				return 0;
    			}			
    		}
    		return 1;
    	}
    };
    
    
    #endif
    

    mdump.cpp

    #include <Windows.h>
    #include "mdump.h"
    #include <QtDebug>
    
    LPCWSTR MiniDumper::m_szAppName;
    
    LPWSTR MiniDumper::m_szAppVersion;
    
    LPWSTR MiniDumper::m_szAppBuildNumber;
    
    WCHAR MiniDumper::m_szMessageText[MAX_WARNING_MESSAGE_PATH];
    
    LPWSTR MiniDumper::m_szDumpFilePath;
    
    #define DEFAULT_ENGLISH_MESSAGE_TEXT L"%s experienced an unknown error and had to exit. \nHowever, some error information has been saved in %s. \nPlease, email this file to <hassan_deldar@yahoo.com> if you would like to help us debug the problem."
    
    #define MAX_DUMP_FILE_NUMBER 9999
    
     
    //static int DUMP_TYPE_MINI = MiniDumpWithUnloadedModules;
    
    //static int DUMP_TYPE_MIDD = MiniDumpWithUnloadedModules | MiniDumpWithIndirectlyReferencedMemory;
    
    static int DUMP_TYPE_FULL = MiniDumpNormal | MiniDumpWithFullMemory | MiniDumpWithDataSegs | MiniDumpWithIndirectlyReferencedMemory | MiniDumpWithHandleData | MiniDumpWithUnloadedModules | MiniDumpWithProcessThreadData;
    
    //static int DUMP_TYPE_FULL = MiniDumpNormal;
    //默认值是只有 MiniDumpNormal 文件比较小
    //如果把所有的选项都加上, 文件很大, 本机调试也没关系
    
    
    MiniDumper::MiniDumper()
    {
    	// if this assert fires then you have two instances of MiniDumper
    	// which is not allowed
    	Q_ASSERT( m_szAppName==NULL );
    
        m_szAppName =  wcsdup(L"iLadarDataCollect");
        m_szAppVersion = wcsdup( L"CrashDump");
        m_szAppBuildNumber = wcsdup( L"0000");
    	
    	wcscpy(m_szMessageText,DEFAULT_ENGLISH_MESSAGE_TEXT);
    
    		
    	m_szDumpFilePath = NULL;
    	::SetUnhandledExceptionFilter( TopLevelFilter );
    }
    
    MiniDumper::~MiniDumper()
    {	
    }
    
    void MiniDumper::SetVersion(LPCWSTR szVersion)
    {
    	if(szVersion)
    	{
    		free(m_szAppVersion);
    		m_szAppVersion = wcsdup(szVersion);
    	}	
    }
    
    void MiniDumper::SetBuildNumber(LPCWSTR szBuildNumber)
    {
    	if(szBuildNumber)
    	{
    		free(m_szAppBuildNumber);
    		m_szAppBuildNumber = wcsdup(szBuildNumber);
    	}
    }
    
    void MiniDumper::SetDumpFilePath(LPCWSTR szFilePath)
    {
    	free(m_szDumpFilePath);
    	m_szDumpFilePath = NULL;
    	if(szFilePath != NULL)
    	{
    		m_szDumpFilePath = wcsdup(szFilePath);
    	}	
    }
    
    LONG MiniDumper::TopLevelFilter( struct _EXCEPTION_POINTERS *pExceptionInfo )
    {
    
    	LONG retval = EXCEPTION_CONTINUE_SEARCH;
    	HWND hParent = NULL;						// find a better value for your app
    
    	// firstly see if dbghelp.dll is around and has the function we need
    	// look next to the EXE first, as the one in System32 might be old 
    	// (e.g. Windows 2000)
    	HMODULE hDll = NULL;
    	WCHAR szDbgHelpPath[_MAX_PATH];
    
    	if (GetModuleFileName( NULL, szDbgHelpPath, _MAX_PATH ))
    	{
    		WCHAR *pSlash = wcsrchr( szDbgHelpPath, L'\\');
    		if (pSlash)
    		{
    			wcscpy( pSlash+1, L"DBGHELP.DLL" );
    			hDll = ::LoadLibrary( szDbgHelpPath );
    		}
    	}
    
    	if (hDll==NULL)
    	{
    		// load any version we can
    		hDll = ::LoadLibrary( L"DBGHELP.DLL");
    	}
    
    	LPCWSTR szResult = NULL;
    
    	if (hDll)
    	{
    		MINIDUMPWRITEDUMP pDump = (MINIDUMPWRITEDUMP)::GetProcAddress( hDll, "MiniDumpWriteDump" );
    		if (pDump)
    		{
    			WCHAR szDumpPath[_MAX_PATH];
    			WCHAR szDumpRootPath[_MAX_PATH];
    			WCHAR szScratch[_MAX_PATH];
    
    			// work out a good place for the dump file
    			
                if(m_szDumpFilePath == NULL)
                {
                    if (GetModuleFileName(NULL, szDbgHelpPath, _MAX_PATH))
                    {
                        WCHAR *pSlash = wcsrchr(szDbgHelpPath, L'\\');
                        if (pSlash)
                        {
                            wcscpy(pSlash + 1, L"");
                            wcscpy(szDumpPath, szDbgHelpPath);
                        }
                    }
                    else if (!GetTempPath( _MAX_PATH, szDumpPath ))
                        wcscpy( szDumpPath, L"c:\\temp\\" );
                }
                else
                {
                    wcscpy( szDumpPath, m_szDumpFilePath );
                }
                wcscpy( szDumpRootPath, szDumpPath);
    
                //PrintDebug(L"[MiniDumper] Mini Dump file:[%s]",szDumpPath);
    
    			// ask the user if they want to save a dump file
    			//if (::MessageBox( NULL, _T("Something bad happened in your program, would you like to save a diagnostic file?"), m_szAppName, MB_YESNO )==IDYES)
    			{
    				HANDLE hFile = INVALID_HANDLE_VALUE;
    				int i = 1;
    				WCHAR szFileNumber[_MAX_PATH];
    				while(hFile == INVALID_HANDLE_VALUE)
    				{					
    					swprintf(szFileNumber, sizeof(szFileNumber), L"_%04d",i);
    					wcscpy( szDumpPath, szDumpRootPath);
    					wcscat( szDumpPath, m_szAppName );
    					wcscat( szDumpPath, L"_" );
    					wcscat( szDumpPath, m_szAppVersion);
    					wcscat( szDumpPath, L"_" );
    					wcscat( szDumpPath, m_szAppBuildNumber);
    					wcscat( szDumpPath, szFileNumber);
    					wcscat( szDumpPath, L".dmp" );					
                        hFile = CreateFile( szDumpPath, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_NEW,
    											FILE_ATTRIBUTE_NORMAL, NULL );
    					i++;
    					if(i > MAX_DUMP_FILE_NUMBER)
    					{
                            hFile = CreateFile( szDumpPath, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,
    											FILE_ATTRIBUTE_NORMAL, NULL );
    						break;
    					}
    				}
    				// create the file				
    
    				if (hFile!=INVALID_HANDLE_VALUE)
    				{
    					_MINIDUMP_EXCEPTION_INFORMATION ExInfo;
    
                        ExInfo.ThreadId = GetCurrentThreadId();
    					ExInfo.ExceptionPointers = pExceptionInfo;
    					ExInfo.ClientPointers = NULL;
    
    					// write the dump
                        BOOL bOK = pDump( GetCurrentProcess(), GetCurrentProcessId(), hFile, (MINIDUMP_TYPE)DUMP_TYPE_FULL, &ExInfo, NULL, NULL );
    					if (bOK)
    					{
    						swprintf( szScratch, sizeof(szScratch), L"Saved dump file to '%s'", szDumpPath );
    						szResult = szScratch;
                            retval = EXCEPTION_EXECUTE_HANDLER;
    					}
    					else
    					{
    						swprintf( szScratch, sizeof(szScratch),L"Failed to save dump file to '%s' (error %d)", szDumpPath, GetLastError() );
                            szResult = szScratch;
    					}
                        CloseHandle(hFile);
    
    					WCHAR csOutMessage[MAX_WARNING_MESSAGE_PATH];
    					swprintf(csOutMessage, sizeof(csOutMessage), m_szMessageText, m_szAppName, szDumpPath);
    					
    					//PrintError(_T("%s"), csOutMessage);
                        //MessageBoxW( NULL, csOutMessage, m_szAppName , MB_OK );
                        qDebug() << "Dump Crash file ...";
    				}
    				else
    				{
    					swprintf( szScratch, sizeof(szScratch),L"Failed to create dump file '%s' (error %d)", szDumpPath, GetLastError() );
    					szResult = szScratch;
    				}
    			}
    
    		}
    		else
    		{
    			szResult = L"DBGHELP.DLL too old";
    		}
    	}
    	else
    	{
    		szResult = L"DBGHELP.DLL not found";
    	}
    
    	if (szResult)
    	{
    		//PrintDebug(_T("[MiniDumper] Mini Dump result:[%s]"),szResult);		
    	}
    
    	return retval;
    }
    
    

    在main.cpp中添加如下代码:

        MiniDumper dump;
    

     程序意外退出时,在debug或者release下生成dump文件,如下图所示:

    双击dmp文件,用vs打开。点击下图中红色箭头指向的“使用 仅限本机进行调试”,即可定位到出错的地方。

     

     

     

    展开全文
  • 此库依赖dbghelp.dll, 工程是静态库方式,连接到你的程序中,遇到程序crash时即可生成dump文件,可以使用windbg工具重现重现crash现场。初始化时指定服务器上传程序,则可以轻松获取用户运行时的错误。 使用...
  • 创建Dump文件

    千次阅读 2011-07-20 18:35:04
    Windows调试技术-创建MiniDump文件 我们经常遇到这样的情况,在程序运行过程中,突然的就crash掉了,并且又...这个时候我们需要借助于dump文件来查找发生exception的位置。下面的代码是创建一个MiniDump文件,至于为什
     

    Windows调试技术-创建MiniDump文件

    我们经常遇到这样的情况,在程序运行过程中,突然的就crash掉了,并且又是在customer那里crash的。这个时候我们需要借助于dump文件来查找发生exception的位置。下面的代码是创建一个MiniDump文件,至于为什么叫Mini,并不是因为小或是内容少的原因,而是相对于FullDump而言,MiniDump文件只保存了进程在crash的是部分关键的virtual memory信息。
    #include "stdafx.h"
    #include <Windows.h>
    #include <DbgHelp.h>
    
    #pragma comment(lib, "DbgHelp.lib")
    
    void CreateMiniDump( LPEXCEPTION_POINTERS lpExceptionInfo) {
        // Open a file
        HANDLE hFile = CreateFile(_T("MiniDump.dmp"), GENERIC_READ | GENERIC_WRITE,
            0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    
        if ( hFile != NULL &&  hFile != INVALID_HANDLE_VALUE ) {
    
            // Create the minidump 
            MINIDUMP_EXCEPTION_INFORMATION mdei;
            mdei.ThreadId          = GetCurrentThreadId();
            mdei.ExceptionPointers = lpExceptionInfo;
            mdei.ClientPointers    = FALSE;
    
            MINIDUMP_TYPE mdt      = MiniDumpNormal;
            BOOL retv = MiniDumpWriteDump( GetCurrentProcess(), GetCurrentProcessId(),
                hFile, mdt, ( lpExceptionInfo != 0 ) ? &mdei : 0, 0, 0);
            
            if ( !retv ) {
                _tprintf( _T("MiniDumpWriteDump failed. Error: %u \n"), GetLastError() ); 
            } else { 
                _tprintf( _T("Minidump created.\n") ); 
            }
    
            // Close the file
            CloseHandle( hFile );
    
        } else {
            _tprintf( _T("CreateFile failed. Error: %u \n"), GetLastError() ); 
        }
    }
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        __try {
            int * p = NULL;
            *p = 20;
        }
        __except(CreateMiniDump(GetExceptionInformation()), EXCEPTION_EXECUTE_HANDLER) {
        }
    
        return 0;
    }
    

    在做minidump文件的时候,会有一种情况是写不出dump文件的。那就是在这个异常块的外面还有异常处理模块,并且已经设置了不保存minidump文件处理,这个时候就没办法写出dump来了。
    展开全文
  • Windows下有三种生成dump文件的方式: 1.通过任务管理器和注册表;2.WinDbg抓取;3.程序中加入存储Dump的代码 具体生成方法参看:Windowsdump文件生成与分析 本文详细介绍如何在程序中加入存储dump的代码: ...
  • 新建一个qt项,取名TestDump 在.pro文件中添加如下代码,为了编译的时候能生成pdb文件 #以下代码为生成pdb文件 CONFIG += force_debug_info CONFIG += senarate_debug_info ...Windows.h> #include .
  • coredump - windows

    2021-04-19 09:46:49
    windows上系统出现了问题,coredump文件默认的存储位置。 C:\Users\ashxx\AppData\Local\CrashDumps 例如:
  • 标签:1.mysqldump.exe在MySql的安装目录的bin目录下如图:2.使用Windwos命令进入MySql安装目录的bin目录下。...存放位置+导出的文件名称(2)导出某个表的数据mysqldump -u 用户名 -p 数据库名称 表名>存放位置+导...
  • 当系统崩溃在蓝屏瞬间,系统会形成一个扩展名为dmp的存储器转储文件,默认存储位置为C:\WINDOWS\Minidmp。A.右击“我的电脑”选择“属性”,在“系统属性”对话框中选择“高级”B.在“启动和故障恢复”中选择...
  • 这个时候我们需要借助于dump文件来查找发生exception的位置。下面的代码是创建一个MiniDump文件,至于为什么叫Mini,并不是因为小或是内容少的原因,而是相对于FullDump而言,MiniDump文件只保存了进程在crash的是...
  • 软件崩溃时 将堆栈信息写入dump文件, 并使用VS2010定位程序崩溃位置 软件闪退问题 关于“程序闪退,没有生成DUMP文件”的一点总结 C++程序异常或内存错误,导致闪退的解决办法:分析dump文件 ...
  • DB2diag.log文件位置查找

    千次阅读 2009-04-27 15:12:00
    DB2diag.log文件是DB2技术支持部门用来查看系统进行诊断的文件 这个文件放在如下目录下 windows下: 先用db2set -all 找到DB2INSTPROF对应的目录,然后再这个目录下去找到这个文件 AIX下: 先SU到实例用户下,...
  • 精通windows server 2008 命令行与powershell 电子书PDF单文件完整版 内容简介: 本书全面地介绍了Windows Server 2008命令行、PowerShell和脚本的使用,包括文件和文件夹的管理、磁盘管理、系统管理、活动目录...
  • class-dump的使用

    2014-06-04 18:49:00
    1.找到app文件位置 1.1.teminal(终端)相当于windows中的命令行, Finder->应用程序->实用工具->终端 1.2.在Mac机上显示隐藏文件, 在终端中用如下命令显示和隐藏"隐藏文件"显示:defaults write ...
  • 浅谈脱壳中的Dump技术

    2009-05-30 23:14:00
    也就是说把内存中或者其他的输入转存到另一个位置,当然对于我们现在说的dump就是把内存中运行的PE进程的数据,从内存中抓取出来,然后在用文件的形式保存下来。代码如下: unit Unit1111;interfaceuses Windows, ...
  • 强大的dmp文件

    2013-11-28 00:40:43
    #include #include #include #include #include ...//Dump用捕获windows程序生成的异常,而且把对应的dump文件放到工程对应的位置上去,即可还原当时的运行现象 //最主要的函数, 生成Dump static void
  • windowsnt 技术内幕

    2014-04-09 20:47:17
    理解在RISC结构上的Windows NT引导过程 理解Windows NT装载过程 介绍Windows NT装载阶段的“服务错误级别” 编辑Boot.ini文件 理解一般性的引导错误 丢失引导文件的后果 利用Expand.exe恢复丢失的或损坏的引导文件 ...
  • 2.生成dump文件 2.1修改注册表(方式1) 2.2修改注册表(方式2) 2.3修改代码,设置回调函数(方式3) 3.修改pro文件 4.Windbg调试dmp 4.1设置 4.2解析dmp文件 1.简介 崩溃转储时在软件崩溃时,把堆栈信息...
  • 生产环境数据库不建议在windows上部署 编辑文件PG_win_backup.bat @ECHO OFF @setlocal enableextensions @cd /d "%~dp0" rem 数据库程序安装位置 SET PGPATH= C:\"Program Files\PostgreSQL\9.4\bin"\pg_dump rem ...
  • 9 Windows平台使用Mat

    千次阅读 2012-04-25 17:17:05
    1.1 JAVA应用配置JVM参数,及生成hprof文件 右键,Run as ==》Run Conigurations..... -XX:+...另外一种指定生成文件存储位置: -XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/home/x
  • Windows Server 2003 Resource Kit Tools

    热门讨论 2011-03-05 13:45:14
    Nlsinfo.exe: Locale Information Tool,地理位置信息 Now.exe: STDOUT Current Date and Time Ntimer.exe: Windows Program Timer Ntrights.exe Oh.exe: Open Handles Oleview.exe: OLE/COM Object Viewer ...
  • 对于二进制文件的编辑,windows下有一款很优秀的软件winhex,会让你的生活非常简单。但是到了linux下面似乎没有专门的二进制编辑器,但是大家不要忘了vim! 虽然vim并不是针对二进制编辑而设计,但是通过技巧也可让...
  • vim编辑二进制文件

    2009-11-08 17:53:00
    对于二进制文件的编辑,windows下有一款很优秀的软件winhex,会让你的生活非常简单。但是到了linux下面似乎没有专门的二进制编辑器,但是大家不要忘了vim虽然vim并不是针对二进制编辑而设计,但是通过技巧也可让vim...
  • 《精通Windows Server 2008命令行与PowerShell》的内容简介回到顶部↑ 本书全面地介绍了windows server 2008命令行、powershell和脚本的使用,包括文件和文件夹的管理、磁盘管理、系统管理、活动目录管理、网络管理...
  • 《精通Windows Server 2008命令行与PowerShell》的内容简介回到顶部↑ 本书全面地介绍了windows server 2008命令行、powershell和脚本的使用,包括文件和文件夹的管理、磁盘管理、系统管理、活动目录管理、网络管理...
  • 《精通Windows Server 2008命令行与PowerShell》的内容简介回到顶部↑ 本书全面地介绍了windows server 2008命令行、powershell和脚本的使用,包括文件和文件夹的管理、磁盘管理、系统管理、活动目录管理、网络管理...
  • catalog.zip 扫描磁盘所有文件的例子(2KB)<END><br>9,hexdump.zip 读16进制的文件(3KB)<END><br>10,findfiles.zip 使用递归算法在指定目录下查找文件(2KB)<END><br>11,listfiles.zip 在列表框中显示指定...

空空如也

空空如也

1 2 3 4
收藏数 78
精华内容 31
关键字:

dump文件位置windows