上一页 1 2 3 4 5 6 7 8 ··· 23 下一页
摘要: Windbg工作空间 WinDbg使用工作空间来描述和存储调试项目的属性、参数及调试器设置等信息。工作空间与vc中的项目文件很相似。WinDbg定义了两种工作空间,一种为默认工作空间,另一种为命名的工作空间。当没有明确使用某个命名空间时,WinDbg总是使用默认工作空间。 WinDbg在安装后就有预 阅读全文
posted @ 2016-12-21 20:27 任智康 阅读(1162) 评论(0) 推荐(0) 编辑
摘要: bp bp 命令是在某个地址下断点, 可以 bp 0x7783FEB 也可以 bp MyApp!SomeFunction 。 对于后者,WinDBG 会自动找到MyApp!SomeFunction 对应的地址并设置断点。 但是使用bp的问题在于: 1)当代码修改之后,函数地址改变,该断点仍然保持在相 阅读全文
posted @ 2016-12-21 09:01 任智康 阅读(6257) 评论(0) 推荐(1) 编辑
摘要: !gle !gle 扩展显示当前线程的最后一个错误码。这个太好记了,getlasterror取首字母: -all 显示目标系统中每个用户模式线程的最终错误。如果在用户模式下省略该参数,调试器显示当前线程的最终错误。如果内核模式下省略该参数,调试器显示当前的寄存器上下文指定的线程的最终错误。 g g( 阅读全文
posted @ 2016-12-20 16:36 任智康 阅读(307) 评论(0) 推荐(0) 编辑
摘要: A.利用工具umdh(user-mode dump heap)分析:此处以程序MemoryLeak.exe为例子 1、开启cmd 键入要定位内存泄露的程序gflags.exe /i memroyleak.exe +ust,如图成功后,开启memoryleak.exe程序。 2、利用UMDH创建Hea 阅读全文
posted @ 2016-12-20 15:56 任智康 阅读(7678) 评论(0) 推荐(1) 编辑
摘要: Logexts.dll windbgth自带了跟进API的功能,这样我们可以方便的跟踪整个API的调用具体的示意图如下: !logexts.logi 将Logger注入目标程序,初始化监控,但是并不开启它。 !logexts.loge 开启监控,如果之前没有调用logexts.logi,这个扩展命令 阅读全文
posted @ 2016-12-19 18:32 任智康 阅读(1185) 评论(0) 推荐(0) 编辑
摘要: !cs 扩展显示一个或多个临界区(critical section)或者整个临界区树 !cs Address 指定要显示的临界区地址。如果省略该参数,调试器显示当前进程中所有临界区。 0:003> !cs 00403370 Critical section = 0x00403370 (test2+0 阅读全文
posted @ 2016-12-19 18:26 任智康 阅读(578) 评论(0) 推荐(0) 编辑
摘要: dds、dps和dqs命令显示给定范围内存的内容,它们是把内存区域转储出来,并把内存中每个元素都视为一个符号对其进行解析,dds是四字节视为一个符号,dqs是每8字节视为一个符号,dps是根据当前处理器架构来选择最合适的长度。 比如要看看当前stack 中保存了哪些函数地址,就可以检查ebp 指向的 阅读全文
posted @ 2016-12-19 17:09 任智康 阅读(3274) 评论(0) 推荐(0) 编辑
摘要: 以下内容是转自 http://www.cnblogs.com/fbird/p/5889596.html 以前做项目碰到过一个问题,在客户的站点上面发现有严重的内存泄漏。幸运的是我们找到了重现的步骤,一轮下来大概有几十兆的泄漏,但是以下常规方法却没啥用。 用windbg把heap上面的object全部 阅读全文
posted @ 2016-12-15 19:47 任智康 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: 线程组成: 线程的内核对象,操作系统用来管理该线程的数据结构。 线程堆栈,它用于维护线程在执行代码时需要的所有参数和局部变量。 操作系统为每一个运行线程安排一定的CPU时间 —— 时间片。系统通过一种循环的方式为线程提供时间片,线程在自己的时间内运行,多个线程不断地切换运行,因时间片相当短,因此,给 阅读全文
posted @ 2016-10-26 15:11 任智康 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 在Windows应用程序中,窗体是由一种称为“UI线程(User Interface Thread)”的特殊类型的线程创建的。 首先,UI线程是一种“线程”,所以它具有一个线程应该具有的所有特征,比如有一个线程函数和一个线程ID。 其次,“UI线程”又是“特殊”的,这是因为UI线程的线程函数中会创建 阅读全文
posted @ 2016-10-25 19:50 任智康 阅读(412) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 23 下一页