windbg !logexts(自带的监控API)
Logexts.dll
windbgth自带了跟进API的功能,这样我们可以方便的跟踪整个API的调用具体的示意图如下:

!logexts.logi
将Logger注入目标程序,初始化监控,但是并不开启它。
!logexts.loge
开启监控,如果之前没有调用logexts.logi,这个扩展命令会先初始化监控,然后启动。
!logexts.logd
停止监控。这个命令会摘掉所有的Hook,从而让程序自由运行。不过COM的Hook并不会被摘除。
!logexts.logo
显示或者修改输出选项,这里有三种输出方式:1.在调试器中显示,2.输出到一个文本文件,3.输出到lgv文件。其中lgv文件会包含更多的信息,我们可以使用LogViewer进行查看。
!logexts.logc
显示或者控制监控的API分类。
!logexts.logb
显示或者刷新输出缓存。由于如果在监控过程中发生异常,那么扩展可能无法将记录的日志写入文件中,这个时候我们就需要这个命令,手动的将缓存中的数据写入文件。
!logexts.logm
显示和创建模块的包含/排除列表。这可以帮助我们指定记录那些特定模块中的API调用。
示例
!logexts.loge D:
设置log的保持路径,并且开启监控
!logexts.logc d *
先关闭所有API分类的监控
!logexts.logc
查看API分类id
!logexts.logc e 1
设置想监控API分类
!logexts.logo e *
开启了所有输出方式,注意:如果想要被监控的程序响应的更快,可以去掉Debugger的输出,因为显示花费的时间比较的多。
Logextse有高度可配置性。如果你想监控他描述以外的API,那么你可以自己写这个API的“头文件”。这里用引号是因为,它并不是真正的头文件,只不过他的语法和C的头文件非常的相似。我们可以看一个例子:
创建%windbg_dir%winextmanifestContext.h
并且写入这些内容
category ActivationContext:
module KERNEL32.DLL: FailOnFalse ActivateActCtx(HANDLE hActCtx, [out] PULONG_PTR lpCookie);
FailOnFalse DeactivateActCtx(DWORD dwFlags, ULONG_PTR upCookie);
在%windbg_dir%winextmanifestmain.h文件的最后加入一行 #include “Context.h”
保存后,重启调试程序,输入!logexts.logc,可以看了多出了ActivationContext这一项。现在就可以选择这一项分类来监控ActivateActCtx和DeactivateActCtx了。
最后自己随便写了个简单的script调用:
.printf /D "<link cmd=\"!logexts.loge c:\\cmdtree\\log\\ \">Enables logging</link>\n"
.printf /D "<link cmd=\"!logexts.logo e *\">sets Logger output</link>\n"
.printf /D "<link cmd=\"!logexts.logc e *\">Displays available API categories</link>\n"
.printf /D "<link cmd=\"!logexts.logb p;!logexts.logb f\">Displays current output buf</link>\n"
.printf /D "<link cmd=\"!logexts.logd\">Disables logging</link>\n"
.printf /D "<link cmd=\"!logexts.loge c:\\cmdtree\\log\\;!logexts.logc e *;!logexts.logo e *;!logexts.logb p;!logexts.logb f\">trace api calls</link>\n"
效果如下:

windbg !logexts(自带的监控API)的更多相关文章
- 微信客户端自带的Js Api:WeixinJSBridge
<!DOCTYPE html> <html> <head> <title>微信WeixinJSBridge API</title> < ...
- 通过zabbix自带模板监控windowsPC机器
通过zabbix自带模板监控windowsPC机器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 欢迎加入:高级运维工程师之路 598432640 相信有很多 ...
- 【转】使用JDK自带jvisualvm监控tomcat
转载地址: http://my.oschina.net/kone/blog/157239 jdk自带有个jvisualvm工具.该工具是用来监控java运行程序的cpu.内存.线程等的使用情况.并且使 ...
- 使用JDK自带jvisualvm监控tomcat
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Zabbix-agent使用自带模板监控 MySQL
1.rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm 2.yum ...
- Zabbix Server 自带模板监控更加灵活MySQL数据库
Zabbix Server 自带模板监控更加灵活MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zabbix-agent端配置 1>.修改zabbix的 ...
- Zabbix Server 自带模板监控有密码MySQL数据库
Zabbix Server 自带模板监控有密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Zabbix-agent端的配置 1>.为数据库设置密码 ...
- Zabbix Server 自带模板监控无密码MySQL数据库
Zabbix Server 自带模板监控无密码MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装MariaDB 1>.安装MariaDB [root ...
- k8s监控api调用
k8s监控api调用 curl -s --cacert /etc/kubernetes/ssl/ca.pem -basic -u fengjian:fengjian --insecure -X GET ...
随机推荐
- [Functional Programming] Arrow contramap vs map and promap
In previous post, Arrow Functor with contramap, we have seen how to opreating on params before we in ...
- HK Openstack Summit 归来有感
4天的Icehouse openstack Summit终于结束,从香港又回到了北京,我们的产品反响相当不错,吸引了很多的注意力和商谈.可是实际上我最近过得很憋屈,心灰意冷,没有了当初那么拼命的动力. ...
- ListView显示不同布局
在使用不同布局的时候,getItemViewType和getViewType不能少,通常是不用这两个函数的重载的 listView.setAdapter(new BaseAdapter() { @Ov ...
- Android LazyList 从网络获取图片并缓存
原演示地址 本文内容 环境 演示 LazyList 从网络获取图片并缓存 参考资料 本文是 Github 上的一个演示,通过网络获取歌手专辑的缩略图,并显示在 ListView 控件中.该演示具备将缩 ...
- background-size中contain和cover中的数学公式
background-size的contain和cover是怎么用的,大家应该都明白.但是里面也有一些有趣的数学关系. 基本概念 上面就是我们对于 rimage (图片宽高比).rviewport ( ...
- C/C++——程序的内存分配
C/C++程序内存分配 一.预备知识-程序的内存分配 一个由c/C++编译的程序占用的内存分为下面几个部分 1.栈区(stack):由编译器自己主动分配释放 ,存放函数的參数值,局部变量的值等.其操作 ...
- JQuery 之 在数据加载完成后才自动执行函数
数据加载完成执行: $(window).load(function(){ ... }); 进入页就执行,不论等数据是否加载完成: $(document).ready(function(){ ... } ...
- 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件(一)
网上高人多. 高手在民间,饭桶在机关. 越用树莓派,越发现这玩意儿的潜力,我想,未来我们用它,可以做很多事情. 最近在看树莓派的应用场景,看到网上有人用它做电视盒子. 参考相关文章,简单实践了一下,整 ...
- hadoop Mahout中相似度计算方法介绍(转)
来自:http://blog.csdn.net/samxx8/article/details/7691868 相似距离(距离越小值越大) 优点 缺点 取值范围 PearsonCorrelation 类 ...
- 好久不git这么多问题
本来想把本地项目上传GitHub一下,打开gitbash, git init 之前配置过了 用户名和邮箱以及ssh等 $ git remote add origin https://github.co ...