Windbg妙用
计算器
当你在调试,需要做一些从十六进制到十进制的简单转换,一些整数计算你不需要切换到calc.exe,你可以只使用windbg的表达式计算器。
假设你得到了一个十六进制的大小,比如说2e903000,您可以转换并执行如下计算:
0:000> ?2e903000
Evaluate expression: 781201408 = 2e903000
所以0x2e903000字节是781201408字节
获取MB数,你只要运行
0:000> ?2e903000/0n1024/0n1024
Evaluate expression: 745 = 000002e9
即除以0n1024两次(十进制数字以0n为前缀),得到745 MB。
聊天客户端
好吧,它不是一个真正的聊天客户端,但是,当您处于远程会话中时,即当有人用.server远程退出了调试会话,并且您想向他们指出一些东西时,您可以用*开始注释,调试器不会解析它,但是连接到远程的其他方会看到它。
0:000>***嘿,看看这个奇怪的东西。。。
与其他应用程序交互
如果需要对命令的输出进行一些处理,并且不想执行将结果复制到记事本、运行外部应用程序等过程,.shell命令是必须尝试的。如果您需要在调试器中对返回的结果进行一些处理,这将特别有用。
0:000> .shell -i - -ci "~* kb 2000" FIND /c "mscorwks!ThreadpoolMgr::WorkerThreadStart"
7
.shell: Process exited
该示例运行~*kb 2000,将输出发送到DOS命令FIND,并返回字符串的出现次数,因此它告诉我们有多少线程正在执行函数WorkerThreadStart。可以将命令传递给自己的应用程序,也可以使用标准输入和标准输出来读取命令结果并将结果打印回调试器。
保存调试会话
.logopen打开一个日志文件,其中存储所有命令及其输出,直到调用.logclose。使用/t开关,它会附加当前日期和时间以及正在调试的进程的PID。
0:000> .logopen /t g:\debugginglog.txt
Opened log file 'g:\debugginglog_1498_2006-01-18_17-12-13-766.txt'
Windbg妙用的更多相关文章
- 第二章排错的工具:调试器Windbg(下)
感谢博主 http://book.51cto.com/art/200711/59874.htm 2.2 读懂机器的语言:汇编,CPU执行指令的最小单元2.2.1 需要用汇编来排错的常见情况 汇编是 ...
- 【CSS进阶】伪元素的妙用--单标签之美
最近在研读 <CSS SECRET>(CSS揭秘)这本大作,对 CSS 有了更深层次的理解,折腾了下面这个项目: CSS3奇思妙想 -- Demo (请用 Chrome 浏览器打开,非常值 ...
- 透过WinDBG的视角看String
摘要 : 最近在博客园里面看到有人在讨论 C# String的一些特性. 大部分情况下是从CODING的角度来讨论String. 本人觉得非常好奇, 在运行时态, String是如何与这些特性联系上的 ...
- angular2系列教程(十)两种启动方法、两个路由服务、引用类型和单例模式的妙用
今天我们要讲的是ng2的路由系统. 例子
- JavaScript的妙与乐(一)之 函数优化
JavaScript的妙与乐系列文章主要是展示一些JavaScript上面比较好玩一点的特性和一些有用的技巧,里面很多内容都是我曾经在项目中使用过的一些内容(当然,未必所有技巧的使用频率都很高^_^) ...
- Promise的前世今生和妙用技巧
浏览器事件模型和回调机制 JavaScript作为单线程运行于浏览器之中,这是每本JavaScript教科书中都会被提到的.同时出于对UI线程操作的安全性考虑,JavaScript和UI线程也处于同一 ...
- Windbg Extension NetExt 使用指南 【3】 ---- 挖掘你想要的数据 Managed Heap
摘要 : NetExt中有两个比较常用的命令可以用来分析heap上面的对象. 一个是!wheap, 另外一个是!windex. !wheap 这个命令可以用于打印出heap structure信息. ...
- Windbg Extension NetExt 使用指南 【2】 ---- NetExt 的基本命令介绍
摘要 : 本章节介绍NetExt常用的命令. 并且对SOS进行一些对比. NetExt的帮助 要想玩好NetExt, 入门就得看帮助. 看NetExt的帮助可以调用!whelp 命令. 这样hi列举出 ...
- Windbg Extension NetExt 使用指南 【1】 ---- NetExt 介绍
摘要 : 在使用WINDBG做debugging的时候,需要一个好的工具帮助进行数据分析. 最常见的extension包括SOS, PSSCOR. NetExt则是另外一种提供了丰富命令功能的deb ...
随机推荐
- Java8 集合相关操作
// java8 集合快速转成string List<String> cities; String citiesCommaSeparated = String.join(",&q ...
- pytest_01-环境准备与入门
前言 首先说下为什么要学pytest,在此之前相信大家已经掌握了python里面的unittest单元测试框架,那再学一个框架肯定是需要学习时间成本的. 刚开始我的内心是拒绝的,我想我用unittes ...
- Aspx后台遍历控件
aspx设计页面 //这个是检测按钮,检测下面的checkbox是否被选中.选中时打印其值 //https://www.cnblogs.com/pwblog/articles/3456385.html ...
- Drool7s 什么叫KIE和生命周期-系列03课
KIE是缩写,knowledge is everything.可以理解成一个上层接口,本质是由很多个实现类去实现功能的. 另外关于drool7s的生命周期,请看下图 本文只是让你了解drools7的一 ...
- 常用 Maven 仓库地址
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/niuzhucedenglu/article ...
- (转)微服务_.NET Core Consul服务发现与治理
原文地址:https://www.cnblogs.com/waynechan/p/9354909.html Consul官网:https://www.consul.io Consul下载地址:http ...
- 学习笔记之Slurm
Slurm Workload Manager - Overview https://slurm.schedmd.com/overview.html Slurm is an open source, f ...
- Java 之 Redis 基础
一.Redis 概述 1.什么是 Redis Redis:redis 是一款高性能的 NOSQL 系列的非关系型数据库. Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库, ...
- 因改漏洞而引申了解的Cookie机制!
近期因为修改漏洞:Appscan扫描漏洞:加密会话(SSL)Cookie中缺少Secure属性,而涉及到Cookie有关的知识,现结合该漏洞的修复过程和了解的cookie知识总结一下. 一.加密会话( ...
- 【RAC】 RAC For W2K8R2 安装--操作系统环境配置 (二)
[RAC] RAC For W2K8R2 安装--操作系统环境配置 (二) 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...