和.net内存调试相关的Windbg命令 首先.load sosex.dll加载ex调试扩展dll 1.!gcgen [obj地址] 显示对象属于gc代数 2.!dumpgen [0/1/2] dump出0/1/2代所用对象 3.strings 在托管堆搜索字符串,可指定匹配字符串如:!strings -m:Debug -g:指定代数,-n:最小大小,-x:最大大小 4.!dumpheap 分析托管堆对象分配汇总信息 5.!eeheap -gc/-loader 查看gc堆/loader堆信息 6…
Linux部分场景非常有用的命令集_1_持续更新 这里面也包含了对于开发调试有用的命令,也可以看看. 这里不做详细说明或截图,仅作为记录和简单说明.注:可能只针对某一命令部分功能,不包含整个功能,若要查看全部请自行查阅文档或help 注:先说明一个 ,搜索文本的命令,在linux下是grep,在window下用findstr.关于这两个如果发现没有这个命令,请根据系统更换.不少debug需要root权限. 1.adb 最常用的命令,但下面的adb命令 很有用的,有可能你不知道.(主要还是Andr…
1. 背景 在开发过程中,我们可能遇到应用程序线程占用过大的问题,可以通过windbg命令去定位哪些类型,哪些内存一直占用堆资源,从而查出问题,解决问题. 2. 准备工作 工具: 抓取DUMP文件的工具,任务管理器(最简单),DebugDiag,ProcessExplorer等(网上很多) 分析工具windbg PS:使用任务管理器的时候需要强调一下如何抓包:根据你的进程是多少位的,然后使用对应位数的任务管理器去抓, 不然抓到的DUMP文件是无效的. 如果在下面分析过程中出现"SOS does…
http://www.cnblogs.com/felix-/p/4341773.html Linux 新手非常有用的命令 你打算从Windows换到Linux上来,还是你刚好换到Linux上来?哎哟!!!我说什么呢,是什么原因你就出现我的世界里了. 从我以往的经验来说,当我刚使用Linux,命令,终端啊什么的,吓了我一跳.我担心该记住多少命令,来帮助我完成所有任务. 毫无疑问,在线文档,书籍,man pages以及社区帮了我一个大忙,但是我还是坚信有那么一篇文章记录了如何简单学习和理解命令的秘籍…
------------VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)------------- WIN10已上线,随之而来的是VS2015:微软在 "WDK7600" 以后就不再提供独立的内核驱动开发包了,而是必须首先安装微软集成开发环境VS,然后再从微软官网下载集成的WDK驱动程序开发包.或者离线安装的开发包. 地址: https://msdn.microsoft.com/zh-cn/windows/hardware/hh852365.aspx 离线下载地…
A.利用工具umdh(user-mode dump heap)分析:此处以程序MemoryLeak.exe为例子 1.开启cmd 键入要定位内存泄露的程序gflags.exe /i memroyleak.exe +ust,如图成功后,开启memoryleak.exe程序. 2.利用UMDH创建Heap快照                  命令格式:umdh -pn:memoryleak.exe -f:snap1.log 程序运行一段时间后或者程序占用内存增加时,然后再次创建heap快照,命令行…
Windbg在软件调试中的应用 Windbg是微软提供的一款免费的,专门针对Windows应用程序的调试工具.借助于Windbg, 我们常见的软件问题:软件异常,死锁,内存泄漏等,就可以进行高效的排查. 在开始用WinDbg调试应用程序之前,我们得先做些准备工作. 设置符号文件路径. 设置源代码路径. 打开待调试的可执行程序或Dump文件. 上述3个操作步聚比较简单,均在File菜单的子菜单项中设置,此处就不在细说,值得一提的就是需要设置的符号文件路径有三类: 1.Windows自身的模块的符号…
主要记录一些在应用层调试漏洞的技巧,不会写一些基本的命令,只记录比较有用的平时难以想到的调试方法. 1.!address eax 查看对应内存页的属性,如果poc触发异常之后就可以用这个指令看一下触发异常的内存地址的情况 2.dc 0x4232390 以DWORD为组织单位查看内存,比dd命令的优点是可以显示ascii码的情况. 3. ub 0x532930 反汇编给定地址之前的指令,一般对于栈回溯中得到的地址使用这一条命令.因为可以看到回溯函数的调用 4.kb.kv和kp 都是栈回溯,但是kb…
在前面C++中基于Crt的内存泄漏检测一文中提到的方法已经可以解决我们的大部分内存泄露问题了,但是该方法是有前提的,那就是一定要有源代码,而且还只能是Debug版本调试模式下.实际上很多时候我们的程序会用到第三方没有源代码的模块,有些情况下我们甚至怀疑系统模块有内存泄露,但是有没有证据,我们该怎么办? 这时我们就要依靠无所不能的WinDbg了. WinDbg的!heap命令非常强大,结合AppVerifier可以对堆(heap)内存进行详细的跟踪和分析, 我们接下来对下面的代码进行内存泄漏的分析…
原文发表于百度空间,2009-01-09========================================================================== 今天又想起来VirtualKD这个东西,试用了一下,真是爽坏了,可能我火星了~~ 很久以前就知道小喂有个VmKd工具,使用Vmware的后门指令直接拷贝数据来代替模拟串口,能大大提高调试时的数据传输速度.不过那个对VMware版本的依赖性太强,我的Vmware就没法用,所以很不爽得又放下了,很长一段时间也没关…