about !dbgprint to analyze BSOD dump file.
基本规则:
只有debug mode enable的机器,产生的dump file才会保存dbgprint的buffer。
默认!dbgprint的buffer size是4k.
增加buffer size:
...\Windows Kits\8.1\Debuggers\x86\kdbgctrl.exe
比如设成 1M大小,kdbgctrl.exe -sdb 0x100000
设置每次重启之后都会失效,所以重启后都需要敲这个命令.
Take care:
当我把buffer设置成0x100000(1M)之后,!dbgprint却只能显示20KB左右的ascii的打印.
这应该是!dbgprint的bug,剩余的部分没能打出来,但实际上是在dump file里面的.
Then 怎么去拿全部的buffer?
0: kd> x nt!kdprint*
fffff802`758a1a18 nt!KdPrintWritePointer = <no type information>
fffff802`758e05e0 nt!KdPrintRolloverCount = <no type information>
fffff802`758e05f0 nt!KdPrintDefaultCircularBuffer = <no type information>
fffff802`758a1a10 nt!KdPrintCircularBuffer = <no type information>
fffff802`758f06c0 nt!KdPrintBufferChanges = <no type information>
fffff802`758a1a08 nt!KdPrintBufferSize = <no type information>
dd fffff802`758a1a10 (nt!KdPrintCircularBuffer),得到的就是buffer的start address
从这里开始,大小为nt!KdPrintBufferSize,就是buffer的区域.
nt!KdPrintWritePointer是当前printk 写buffer的指针.
Notice:
这个buffer是cyclic的,根据KdPrintWritePointer来决定buffer的起始位置:)
about !dbgprint to analyze BSOD dump file.的更多相关文章
- Debug Dump file
dump file is a snapshot of the processs memeory. to debug it, we need use its corresponding executiv ...
- Debug program crash with dump file.
1. Task manager, -> find the process for the program which crashed. 2. Right click the process -& ...
- How to Create Dump File for Applications
使用WinDBG这个工具,可以在应用程序异常终止或者无响应时获取它的尸体,以用来解剖研究. Creating Dump File 在Vista环境中抓取Dump文件很方便,在task man ...
- Linux core dump file详解
Linux core dump file详解 http://www.cnblogs.com/langqi250/archive/2013/03/05/2944931.html
- ORA-39142: incompatible version number 5.1 in dump file
ORA-39142: incompatible version number 5.1 in dump file http://blog.itpub.net/26664718/viewspace-214 ...
- ORA-39095: Dump file space has been exhausted
ORA-39095: Dump file space has been exhausted Table of Contents 1. 简述 2. 错误信息 3. 分析 4. 解决 5. 扩展 1 简述 ...
- Using pg_dump restore dump file on Odoo
pg_restore -C -d postgres db.dump
- executing in nfs will not generate core dump file
最近遇到了一个奇怪的问题. linux系统的pc搭建nfs server,开发板作为nfs client,开发板中全程root权限操作,执行的程序放到 nfs server 中 exports 出的目 ...
- Modify MySQL dump file the fatest way
使用mysql命令导入mysqldump生成的sql文件时,为了提高导入速度,往往需要修改dump文件,但是面对一个几十GB的文件,这事儿就太崩溃了,最快速的方法是这么做: ( echo " ...
随机推荐
- Linux的开山篇
一.Linux的学习方向 1.2Linux运维工程师 1.2.2Linux嵌入式开发工程师 1.2.3在Linux下做各种程序开发 javaEE 大数据 Python PHP C/ ...
- 【bind服务简单发布及优化部署】
主DNS 1:安装bind服务包 2:vim /etc/named.conf区域解析控制文件 3:vim /etc/named.rfc1912.zones解析方向文件 4:vim var/named ...
- 常见的Dom操作
1.什么是DOM? DOM又称文档对象模型( DOM, Document Object Model )主要用于对HTML和XML文档的内容进行操作.DOM描绘了一个层次化的节点树,通过对节点进行操作, ...
- 国内maven库链接地址,链接阿里的库,下载很快!!!
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http:/ ...
- Kubernetes-DNS
Kubernetes提供的虚拟DNS服务名为skydns,由四个组件组成: etcd:DNS存储 kube2sky:将Kubernetes Master中的Service(服务)注册到etcd sky ...
- SQL 公用表表达式(CTE)
1.概念 公用表表达式(Common Table Expression)是SQL SERVER 2005版本之后引入的一个特性.CTE可以看作是一个临时的结果集,可以在接下来的一个SELECT,INS ...
- php复制目录很浪
一不小心搞出个超级深层次文件夹 主要是因为懒,在网上随便找了段复制文件夹的代码贴上了,结果是很恐怖,一个文件夹复制到他自身里面的时候,将会产生循环嵌套文件夹,后果是,windows因为文件名太长而无法 ...
- Java之枚举笔记(Enum)
package com.simope.ljm; public class MyEnum { public static void main(String[] args) { System.out.pr ...
- IOException: win32 io returned 267. Path:
unity3d在导出android项目时出现了这个错误,找了一圈也没找到原因,最后把项目名中空格去掉后OK了,坑啊!!!!
- jqgrid-parmNames和jsonReader的使用,以及json的返回格式(转)
prmNames : { page:"page", // 表示请求页码的参数名称 rows:"rows", // 表示请求行数的参数名称 sort: ...