内核5步下应用层断点

1:使用 !process 0 0 察看所有 EPROCESS

2:使用.process /p + 需要断的应用程序的EProcess地址,切换到应用程序的地址空间

例如:

.process  /p  0x80a02a60

3:重新加载user PDB文件

.reload /f /user

4:使用非侵入式的切换进程空间

.process /i /p 0x80a02a60

5:下应用层断点

时间: 2024-11-07 12:43:08

内核5步下应用层断点的相关文章

内核的基础层和应用层

◆ 第 1 章 内核的基础层和应用层1.1.1 内核中使用内存简单说,内核提供了两个层次的内存分配接口.一个是从伙伴系统分配,另一个是从slab 系统分配.伙伴系统是最底层的内存管理机制,提供页式的内存管理,而 slab 是伙伴系统之上的内存管理,提供基于对象的内存管理.从伙伴系统分配内存的调用是 alloc_pages,注意此时得到的是页面地址,如果要获得能使用的内存地址,还需要用 page_address 调用来获得内存地址.如果要直接获得内存地址,需要使用 __get_free_pages

Eclipse和debug的一些快捷键:F8一直执行到下一个断点

F5单步调试进入函数内部.  F6单步调试不进入函数内部,如果装了金山词霸2006则要把“取词开关”的快捷键改成其他的.  F7由函数内部返回到调用处.  F8一直执行到下一个断点.  F11 这个好像是重新运行debug的,我也不确定,一直就当做重新运行debug的快捷键用的

Linux系统启动与内核管理(下)

从上一篇介绍了系统启动流程可以得知,在BIOS读取相关信息之后,接下来就是去找第一个可以启动的设备当中的MBR中读取Boot Loader信息,Boot Loader提供具有惨淡功能,直接加载内核信息,以及相关的控制权转交功能.启动系统必须有Boot Loader,然后才能去加载内核,Boot Loader存储于MBR当中,MBR只有512字节,其中前446字节存储Boot Loader,区区只有446自己不可能容纳较多的功能,Linux将Boot Loader的程序运行与配置项加载分成三个阶段

Kernel那些事儿之内存管理(13) --- 内核映射(下)

前面讲过,针对于内核地址空间中后面的128MB空间,Kernel提供了三种机制来映射物理内存.之前讲过了两种,即持久内核映射和临时内核映射.这两种机制的目的都是一样的:使Kernel能够访问到高端内存. 今天讲一下第三种机制:非连续内存分配,也就是vmalloc.这个机制同样可以使Kernel能够访问到高端内存,不过这不是该机制的主要目的.该机制的主要目的是:把物理上不连续的页面映射到连续的内核线性地址空间中. 非连续内存区域管理 既然是映射,肯定会涉及到三个元素:集合L,集合P,映射M. 集合

JAVA- 在Eclipse下设置断点

断点:可以简单理解为 就是告诉编译器在执行到该点(该句)的时候停一下,方便用户看看当前的情况,包括变量等等. 在Eclipse的java视图下,直接在要设置断点的那行的最左边,双击即可,再次双击取消断点. 设置断点后: RUN --- DEBUG --- 进入debug视图 --- 按F6单步调试. over!

VS2008在release下设置断点调试

设置VS2008的方法步骤. 1.  将程序编译模式配置选择为Release. 2.  开启Release模式下生成调试信息. 项目属性——>Linker——>Debugging——>Generate Debug Info 选择为YES 3.  选择调试信息格式为程序数据库. 项目属性——>C/C++——>General——>Debug Information Format 选择为Program Database 4.  关闭优化. 项目属性——>C/C++——&

linux下多线程断点下载工具-alex

今天要下载一下14G左右的文件,用wget约10小时,后来发现linux下有个多线程支持断点续传的下载工具alex,试了一下,下载速度大大增加. 包地址:http://pkgs.repoforge.org/axel/ 安装 下载rpm文件并安装: $ wget http://pkgs.repoforge.org/axel/axel-2.4-1.el6.rf.x86_64.rpm $ rpm -i axel-2.4-1.el6.rf.x86_64.rpm 主要参数 -n x:启动x个线程下载 -s

windbg 如何再内核模式调试用户空间的程序

1:使用!process 0 0 获取用户空间的所有的进程的信息 !process 0 0 **** NT ACTIVE PROCESS DUMP ****    PROCESS 80a02a60  Cid: 0002    Peb: 00000000  ParentCid: 0000    DirBase: 00006e05  ObjectTable: 80a03788  TableSize: 150.    Image: System ..... 2:使用.process /p + 你需要断

SendMessage、PostMessage原理

SendMessage.PostMessage原理 SendMessage.PostMessage原理 本文讲解SendMessage.PostMessage两个函数的实现原理,分为三个步骤进行讲解,分别适合初级.中级.高级程序员进行理解,三个步骤分别为: 1.SendMessage.PostMessage的运行机制. 2.SendMessage.PostMessage的运行内幕. 3.SendMessage.PostMessage的内部实现. 注:理解这篇文章之前,必须先了解Windows的消