0x00

最近好忙,好久没写博客了,更新一波。
Windbg中的wt命令可以简便快速追踪函数调用流程,命令格式如下:

我在win10 x64 19h1 release 上测试 CoInitializeEx 的调用流程:

使用命令: wt =3e13d4 3e13da
命令会显示两部分信息:树形显示的调用堆栈与每个被调用子函数的指令数与调用次数。

0x01

Wt命令除了追踪调用流程以外我认为在两个方面有一定作用:

  1. 确定调用失败大致原因与范围。在调用一些API时经常会发生错误,如果直接跟API会比较烦,存粹体力活。使用wt可以比较简单地看出大致在哪个子函数失败的,那么可以下断点,快速run到出错代码附近;
  2. Wt命令可以作为简单的性能调试工具。因为wt命令列出了指令数与调用次数,因此可以作为性能调试的简单参考。但是有几点要注意:Wt命令可以作为简单的性能调试工具。因为wt命令列出了指令数与调用次数,因此可以作为性能调试的简单参考。但是有几点要注意:
    1) 存在IO性能瓶颈的程序不适合,比较适合CPU密集型程序;
    2) Wt命令使用的是nt自带的event trace,会对程序本身的执行造成一定影响,因此如果程序会一些扰动比较敏感的话也不太适合。

0x02

全量打印的wt命令输出比较烦杂,可以使用一些filter参数来过滤打印,具体看msdn。

windbg wt命令相关推荐

  1. windbg 常用命令详解

     一. 1. !address eax 查看对应内存页的属性 2. vertarget 显示当前进程的大致信息 3 !peb 显示process Environment Block 4. lmvm ...

  2. Windbg 基础命令 《第一篇》

    Windbg.exe是Windows的一个调试工具,它支持两种调试模式,即"实时调试模式(Living)"和"事后调试模式(Postmortem)". 实时模式 ...

  3. Windbg调试命令详解

    Windbg调试命令详解 发表于2013 年 8 月 23 日 转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Win ...

  4. WinDBG扩展命令的工作原理

    Windbg扩展命令原理 Depends tool - Scan dependent modules on windows for dll, exe, sys files http://depende ...

  5. 搬运! Windbg调试命令详解

    转载注明>> [作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是 ...

  6. 博客摘录「 Windbg调试命令汇总」2023年4月15日

    目录 1.Windbg调试器介绍 2.Windbg版本说明 3.Windbg命令汇总 VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...) https://blog.csdn.net/c ...

  7. windbg 脚本命令实例

    debugger commands部分,痛苦死了.也找不到WINDBG的插件,还是WINDBG没插件功能?为了简化调试过程,只有学习使用SCRIPT了,现在把这几天的经验跟大家分享.附件中所有代码经N ...

  8. windbg 脚本命令

    debugger commands部分,痛苦死了.也找不到WINDBG的插件,还是WINDBG没插件功能?为了简化调试过程,只有学习使用SCRIPT了,现在把这几天的经验跟大家分享.附件中所有代码经N ...

  9. WinDBG 调试命令大全

    转载收藏于:http://www.cnblogs.com/kekec/archive/2012/12/02/2798020.html  #调试命令窗口 ++++++++++++++++++++++++ ...

最新文章

  1. 已经入门了C++,后面的路怎么走?
  2. 26 JSX深度剖析与使用技巧
  3. android 弹窗 onpause,Android 下拉通知栏时Activity的生命周期——重新理解onPause()
  4. JAVA入门级教学之(switch语句)
  5. python登录网页_Python如何爬取需要登录的页面
  6. java 作业 老师与教员信息 类与对象
  7. linux下共享库的制作及常见的问题
  8. 秋游可以去哪些地方?
  9. socket 函数 setsockopt()用法
  10. 「随机化快排」期望运行时间证明
  11. cocos2dx 开发成长之路 004
  12. C++ Windows时间函数 QueryPerformanceCounter()与QueryPerformanceFrequency()
  13. vue.js笔记1.0
  14. 家居行业如何做好私域布局?
  15. Spring AOP、拦截器、过滤器的区别
  16. 基于java的智能计算器_基于Java的语音计算器实现
  17. 创建ArrayList对象,添加5个元素,使用Iterator遍历输出
  18. 华为公有云接口的问题
  19. 【总结】华为、H3C、锐捷三家交换机配置命令详解
  20. Python 语言中的 “鸭子类型”

热门文章

  1. python爬虫能赚钱吗-个人利用Python爬虫技术怎么挣钱-10万被动收入
  2. 诚心希望大家可以关注一下这个游戏公司:飞鱼科技
  3. 编程php计算行李托运费_登机英语:行李托运、行李超重和超重费英文表达
  4. Python PyQt5安装 找不到Qt 平台 无法初始化
  5. 4.2 理性看考试——《逆袭大学》连载
  6. java统计词频算法_Java实现的词频统计——功能改进
  7. UART串行通信模式
  8. 大数据平台下的数据治理
  9. 12岁“乖乖女”出走后割腕欲轻生 警方3小时全城搜寻
  10. linux系统中不存在 基本文件类型,Linux系统中不存在以下哪个基本文件类型( )