windbg 边学边记

6、 lmf

列出当前进程中加载的所有dll文件和对应的路径

奇怪没找到我程序里边加载的dll  乖乖滴.难道attach 进程把dll关了吗? 用空用dump 试试.

11!runaway 可以显示每一个线程的cpu消耗

这个命令挺好,直接找到哪个线程占得时间久 ,如果一直占着,那这个线程里边一定是有死循环,或者不停的操作某个东西

线程6号 占用时间1分钟31秒

我看有人通过抓dump  才查看,那种应该是最准的吧, windbg  附加到进程里之后,程序卡掉了,占资源的dll 也停下来了.

通过dump多抓几次,每次都一样占时间的那个线程就是问题所在的线程.

12、 ~     命令是用来切换目标线程

0:018> ~ 可以显示线程的信息
0:018> ~0s   把当前的线程切换到0号线程,也就是主线程,切换后提示符会变为0:000.

13 、~* 命令列出当前进程中的所有线程的详细信息

14、~*kb    命令列出所有线程的堆栈

15、 k     命令用来显示当前线程的堆栈,如下

转到六号线程

没有多少信息

15、 k     命令用来显示当前线程的堆栈,如下

0:018> k
跟d命令一样,k后面也可以跟很多后缀,比如kb kp,kn,kv,kl等,这些后缀控制了显示的格式和信息。
栈指令k[b|p|P|v]
这四条指令显示的内容类似,但是每个指令都有特色;

KB显示三个参数;

Kp显示所有的参数,但需要Full Symbols或Private PDBSymbols支持。KP与Kp相似,只是KP将参数换行显示了;

Kv用于显示FPO和调用约定;

KD,用于显示Stack的Dump,在跟踪栈时比较有用。
这些指令区分大小。

16 、u   命令把指定地址上的代码翻译成汇编输出

0:018> u 7739d023 
USER32!NtUserWaitMessage:
7739d023 b84a120000 mov eax,0x124a
7739d028 ba0003fe7f mov edx,0x7ffe0300
7739d02d ff12 call dword ptr [edx]
7739d02f c3 ret
如果符号文件加载正确,可以用uf命令直接反汇编整个函数,比如uf USER32! NtUserWaitMessage

时间: 2024-10-13 00:40:34

windbg 边学边记的相关文章

【Ruby编程】Ruby安装配置和学习总记

[转载请注明出处:http://blog.csdn.net/leytton/article/details/37411721] 1.运行环境 win7    ruby 1.9.3p545 2.学习资源 苏勇老师Ruby开发语言视频教程  http://edu.51cto.com/course/course_id-1414.html 在浏览器上试用 Ruby   http://tryruby.org/levels/1/challenges/0  (PS:注意输入法要切换到英文) 20分钟体验 Ru

android 边学边记 2015.10.16

1.Menu.FIRST在reference中描述为:First value for group and item identifier integers.我们可以理解为ID设置的最小数值. 2.setDefaultKeyMode (int mode) 用来设置一个Activity的默认的按键模式, 也就是指这种情况,当Activity中发生了一些按键事件,但是这些事件没有被任何控件Listen到时(截获时), 系统应该如何处理这些按键事件. mode一共有五种 DEFAULT_KEYS_DIS

System V三种IPC编程巧学巧记

转载请保留原文地址http://blog.csdn.net/guodongxiaren/article/details/43876207 概述 System V("系统五")系统上发明了三种IPC机制(消息队列.信号量和共享内存),通常称为System V IPC.又因为后来被收录到Unix的XSI标准之中故又称为XSI IPC.所以当你看到System V IPC 和 XSI IPC的时候实际上指的是同一种东西. C语言是一门面向过程的语言,与OO(面向对象)语言不同,它没有做到数据

常见数据结构算法边学边记

一.如何判断链表中有无环 解法:设置了两个指针p和q,他们分别以速度为1和2前进(公式应该是p和q分别以速度为v1和v2且|v2-v1|为1),如果到某一次循环发现他们相等,即都指向同一结点(空节点除外,以后讨论的节点都不包含空节点),则说明这个单向链表中存在循环.否则就是没有循环. 二.最大子序列问题:给定一整数序列A1, A2,... An (可能有负数),求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大 解法:运用动态规划的思想,才能达到线性复杂度 //线性的算法O(N) lon

Unity随学随记

1.Unity3D支持的图片格式:PSD.TIFF.JPG.TGA.PNG.BMP.IFF.PICT,一般使用PSD.TIFF.TFA等无压缩或者无损压缩的高质量高分辨率图片文件格式来制作贴图.建议贴图尺寸为2的n次幂. 2.贴图属性: 1>Texture Type: (1)Texture 普通贴图(2)Normal map 法线贴图(3)GUI GUI贴图(4)Cursor 光标贴图(5)Reflection 立方体贴图,一般制作反射效果(6)Cookie 用于灯光的遮罩贴图(7)Lightm

Java随学随记

1.一个Java源文件可包含三个“顶级”要素: (1)一个包(package)声明(可选) (2)任意数量的导入(import)语句 (3)类(class)声明 该三要素必须以上顺序出现.即,任何导入语句出现在所有类定义之前:如果使用包声明,则包声明必须出现在类和导入语句之前. 2.Java中关键字的基本含义 (1)abstract:声明类或类中的方法是抽象的 (2)boolean:基本数据类型之一,布尔类型: (3)break:提前跳出一个块: (4)byte:基本数据类型之一,字节类型: (

数据结构与算法随学随记

1.数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科. 2.传统上,我们把数据结构分为逻辑结构和物理结构. 逻辑结构:是指数据对象中数据元素之间的相互关系. 物理结构:是指数据的逻辑结构在计算机中的存储形式. 3.集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他不三不四的关系. 线性结构:线性结构中的数据元素之间是一对一的关系. 树形结构:树形结构中的数据元素之间存在一对多的层次关系. 图形结构:图形结构的数据元素是多对多的关系

循序渐近学docker---笔记

1.安装docker 环境:ubuntu 16.04 sudo apt-get install docker.io [email protected]:~# docker -vDocker version 1.12.1, build 23cf638但是我这里,安装后,无法启动,切换到root下,才正常运行 切换root,[email protected]:~$ sudo su - 2.体验docker--个人博客WordPress的搭建 #docker run --name db --env M

jquery随学随记

wrap()方法 wrap() 方法把每个被选元素包裹在指定的html内容或元素中,语法如下: $(selector).wrap(wrapper) wrapper参数可能的值: HTML 代码 - 比如 ("<div></div>") 新元素 - 比如 (document.createElement("div")) 已存在的元素 - 比如 ($(".div1")) 已存在的元素不会被移动,只会被复制,并包裹被选元素. $(