基本规则:

只有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.的更多相关文章

  1. Debug Dump file

    dump file is a snapshot of the processs memeory. to debug it, we need use its corresponding executiv ...

  2. Debug program crash with dump file.

    1. Task manager, -> find the process for the program which crashed. 2. Right click the process -& ...

  3. How to Create Dump File for Applications

    使用WinDBG这个工具,可以在应用程序异常终止或者无响应时获取它的尸体,以用来解剖研究. Creating Dump File      在Vista环境中抓取Dump文件很方便,在task man ...

  4. Linux core dump file详解

    Linux core dump file详解 http://www.cnblogs.com/langqi250/archive/2013/03/05/2944931.html

  5. 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 ...

  6. 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 简述 ...

  7. Using pg_dump restore dump file on Odoo

    pg_restore -C -d postgres db.dump

  8. executing in nfs will not generate core dump file

    最近遇到了一个奇怪的问题. linux系统的pc搭建nfs server,开发板作为nfs client,开发板中全程root权限操作,执行的程序放到 nfs server 中 exports 出的目 ...

  9. Modify MySQL dump file the fatest way

    使用mysql命令导入mysqldump生成的sql文件时,为了提高导入速度,往往需要修改dump文件,但是面对一个几十GB的文件,这事儿就太崩溃了,最快速的方法是这么做: ( echo " ...

随机推荐

  1. JS数组去重的十种方法(转载)

    重点:博客原文出自http://www.cnblogs.com/yuanbo88/p/7345331.html.我只是想给自己做个笔记.感谢敲代码的怪蜀黍做的贡献. Methods 1: 思路:定义一 ...

  2. php mysql 计算经纬之间距离 范围内筛选

    <?php /** * 根据经纬度和半径计算出范围 * @param string $lat 纬度 * @param String $lng 经度 * @param float $radius ...

  3. haproxy+keepalived主备与双主模式配置

    Haproxy+Keepalived主备模式 主备节点设置 主备节点上各安装配置haproxy,配置内容且要相同 global log 127.0.0.1 local2 chroot /var/lib ...

  4. Java语言利用Collections.sort对Map,List排序

    1.main方法包含TreeMap排序1,TreeMap排序2,HashMap排序,List<Integer>排序,List<Bean>排序,List<Map>排序 ...

  5. Linux系统运维基础测试题

    1    Linux运维基础测试题(第一关) 通过这段时间学习Linux基础命令,为了检测自己对Linux基础命令掌握的情况,从网上整理13到测试题,并将其整理出来供大家参考学习. 1.1    习题 ...

  6. vue服务端渲染提取css

    vue服务端渲染,提取css单独打包的好处就不说了,在这里主要说的是抽取css的方法 要从 *.vue 文件中提取 CSS,可以使用 vue-loader 的 extractCSS 选项(需要 vue ...

  7. PHP接收http请求头信息

    1.PHP 自带函数 getallheaders() 目前 getallheaders() 只能用于 apache 中.如果想在 nginx 中也能使用,可以使用自定义函数. foreach (get ...

  8. Angular : 绑定, 参数传递, 路由

    如何把jquery导入angular npm install jquery --savenpm install @type/jquery --save-dev "node_modules/z ...

  9. PHP创建MySQL并引入后执行sql语句

    一:创建sql.php文件 <?php function sqlMethod($sql){ $servername = "localhost"; $username = &q ...

  10. ThinkPHP创建应用

    新建一个文件 引入ThinkPHP文件