windbg调试相关命令
- 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 a.exe +hpa +ust.
- call指令相当于push eip(esp也会增加4),retn相当于pop eip
- 修改寄存器命令:r @eax=1
- 修改内存命令:ed (esp+8) 0xffffffff
- !heap -flt s 8010 //列出 所有指定大小的分配块
- 命令行下载符号表
这里可以使用 SymChk.exe 实用程序验证符号并以方便、非入侵性的方式生成本地符号高速缓存。SymChk.exe 实用程序随 Debugging Tools for Windows 软件包提供。SymChk.exe 是一种命令行工具。
比如要使用 SymChk.exe实用程序下载 Windows\System32 文件夹中所有组件的符号文件,使用以下命令行即可:
symchk /r c:\windows\system32 /s SRV*c:\symbols\*http://msdl.microsoft.com/download/symbols
c:\progra~1\debugg~1\symchk.exe /r c:\progra~1\mozill~1\* /s SRV*C:\symcache\*http://symbols.mozilla.org/firefox
在此示例中,其中“/r c:\windows\system32”表示查找System32文件夹和所有子文件夹中的所有符号文件。“/s SRV*c:*http://msdl.microsoft.com/download/symbols”指定用于符号解析的符号路径。在此例中,“c:\symbols”是将在其中从符号服务器复制符号的本地文件夹。
- ida:在使用IDA对二进制文件进行逆向分析的时候,将基址修改为指定值:Edit->Segements->Rebase program
- 虚函数
- windbg线程
- ~ 简洁地显示当前进程的所有线程,
- ~. 表示当前线程
- ~# 表示异常或者产生调试事件的线程
- ~* 表示所有线程
- ~1 表示一号线程
- ~2 s 表示选择2号线程作为当前线程
- ~3 f 冻结三号线程
- ~3 u 解冻三号线程
- ~2 n 挂起二号线程
- ~2 m 恢复二线程
- ~*e !clrstack 遍历每个线程, 依次输出它们的托管调用栈.
- !threads 查看所有的托管线程
- 在多线程排除问题中,通过线程转换(~2),查看每个线程的栈(k),分析其在那里堵塞。然后结合源码分析。
3.windbg常见符号表地址
Microsoft – http://msdl.microsoft.com/download/symbols
Firefox – http://symbols.mozilla.org/firefox
Chrome – http://chromium-browser-symsrv.
Citrix – http://ctxsym.citrix.com/symbols
Safari --http://developer.apple.com/internet/safari/windows_symbols
调试firefox为例,设置多符号表情况:
SRV*c:\symcache\*http://msdl.microsoft.com/download/symbols;SRV*c:\symcache\*http://symbols.mozilla.org/firefox
windbg调试相关命令的更多相关文章
- Android模拟器avd的创建、使用和调试相关命令
1.创建AVD命令:android-sdk-windows\tools目录下面有android命令 android list 列出当前系统中已安装的Android版本以及已安装的AVD(Androi ...
- linux 调试相关命令
1. tail -f filename 调试时,log输出到文件,但是又想看到即时输出信息 未完待续....
- Windbg调试命令详解
作者:张佩][原文:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是:cdb.exe.ntsd. ...
- 调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令
调试SQLSERVER (三)使用Windbg调试SQLSERVER的一些命令 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (二)使用Windbg调试SQLSERVER ...
- Windbg调试命令详解(1)
转载注明>> [作者:张佩][镜像:http://www.yiiyee.cn/Blog] 1. 概述 用户成功安装微软Windows调试工具集后,能够在安装目录下发现四个调试器程序,分别是 ...
- WinDBG 调试命令大全
转载收藏于:http://www.cnblogs.com/kekec/archive/2012/12/02/2798020.html #调试命令窗口 ++++++++++++++++++++++++ ...
- WinDbg常用命令系列---源代码操作相关命令
lsf, lsf- (Load or Unload Source File) lsf和lsf-命令加载或卸载源文件. lsf Filename lsf- Filename 参数: Filename指定 ...
- WinDbg常用命令系列---日志操作相关命令log*
.logopen (Open Log File) .logopen命令将事件和命令的副本从调试器命令窗口发送到新的日志文件. .logopen [Options] [FileName] .logope ...
- 调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置
调试SQLSERVER (二)使用Windbg调试SQLSERVER的环境设置 调试SQLSERVER (一)生成dump文件的方法调试SQLSERVER (三)使用Windbg调试SQLSERVER ...
随机推荐
- CSS常用标签-手打抄录-感谢原未知博主-拜谢了
CSS常用标签 CSS常用标签 一 CSS文字属性 color : #999999; /*文字颜色*/ font-family : 宋体,sans-serif; /*文字字体*/ font-siz ...
- 2-sat HDU 1814
题解来自于:http://www.cnblogs.com/kuangbin/archive/2012/10/05/2712622.html 和平委员会 根据宪法,Byteland民主共和国的公众和平委 ...
- POJ 2431 优先队列
汽车每过一单位消耗一单位油,其中有给定加油站可加油,问到达终点加油的最小次数. 做法很多的题,其中优先对列解这题是很经典的想法,枚举每个加油站,判断下当前油量是否小于0,小于0就在前面挑最大几个直至油 ...
- 用django框架做自己的blog
说明:我的系统环境是ubuntu 14.10版本的,整理这篇博客,主要是自己记性太不好了,老忘东西,教训一下自己.哈哈 参考文章 createing blog 1,part-1-creating-bl ...
- MySQL性能优化之道
1.in和not in子查询优化 not in 是不能命中索引的,所以以下子查询性能很低. 如果是确定且有限的集合时,可以使用.如 IN (0,1,2). 用 exists或 notexists代替 ...
- CSS中filter滤镜的学习笔记
1.CSS静态滤镜样式 (filter)(只有IE4.0以上支持) CSS静态滤镜样式的使用方法:{ filter : filtername( parameters1, parameters2, . ...
- 移动端meta声明
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --><html lang="zh-cmn-Hans"> ...
- 机器学习-kNN-数据归一化
一.为什么需要数据归一化 不同数据之间因为单位不同,导致数值差距十分大,容易导致预测结果被某项数据主导,所以需要进行数据的归一化. 解决方案:将所有数据映射到同一尺度 二.最值归一化 normaliz ...
- 5-python的封装与结构 - set集合
目录 1 封装与解构 1.1 封装 1.2 解构 1.3 Python3的解构 2 set类型 2.1 set的定义 2.2 set的基本操作 2.2.1 增加元素 2.2.2 删除元素 2.2.3 ...
- cin循环输入控制问题
之前写一个简单的输入节点值自动生成链表的测试程序,发现cin的输入控制好像在VC++6.0和VS2010中不一样,特此记录. 现在有以下代码: vector<int> ivec; int ...