windbg调试相关命令
Posted studyskill
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windbg调试相关命令相关的知识,希望对你有一定的参考价值。
- 显示父子进程关系:ps -ef --forest
- windbg
- 查找函数:x exe!main*
- 条件断点打印字符:bp 7199a2b0 ".printf \"message:%ma\", poi(@esp+8);.echo;g"//
- 搜索内存:s -a 0000000000780000 L8000000 "This is a test2"
- !address,可以查看进程的堆布局,堆属性。!address my_addr,直接查看具体地址。
- bp myexe+0x85d01 ".echo abc;r r8;r rcx;dc myexe+1000;gu;g"//直接使用偏移,gu运行到当前函数结束。.echo abc打印abc字符串。
- bu myexe+0x800;设置全局断点,下次重启时还存在;bm myexe!myclass::*,对myclass类所有函数下断点。
- p相当于f10,t相当于f11,trace
- ?c-1,用来计算公式。
- gflags.exe /i vmware.exe +hpa +ust.
- !heap -flt s 8010 //列出 所有指定大小的分配块
- ida:在使用IDA对二进制文件进行逆向分析的时候,将基址修改为指定值:Edit->Segements->Rebase program
- 虚函数
- windbg线程
-
- ~ 简洁地显示当前进程的所有线程,
- ~. 表示当前线程
- ~# 表示异常或者产生调试事件的线程
- ~* 表示所有线程
- ~1 表示一号线程
- ~2 s 表示选择2号线程作为当前线程
- ~3 f 冻结三号线程
- ~3 u 解冻三号线程
- ~2 n 挂起二号线程
- ~2 m 恢复二线程
- ~*e !clrstack 遍历每个线程, 依次输出它们的托管调用栈.
- !threads 查看所有的托管线程
- 在多线程排除问题中,通过线程转换(~2),查看每个线程的栈(k),分析其在那里堵塞。然后结合源码分析。
以上是关于windbg调试相关命令的主要内容,如果未能解决你的问题,请参考以下文章