ida GDB 远程调试

在看雪上回答的问题,有人问在WinDbg下断KiDebugRoutine或者KdEnterDebugger函数会引发蓝屏!因为是在调试Windows的内核调试引擎,我给出的解决办法是用不依赖Windows的内核调试引擎对其进行调试,在以前分析Windows的启动过程时用到过ida的远程调试,在Windows内核调试引擎还没初始化的时候就对系统进行调试,这里就用到了ida的远程调试来解决。

ida--->Debugger--->Attacth---->Remote GDB Debugger

kd> u kdenterdebugger
nt!KdEnterDebugger:
8414116d 8bff            mov     edi,edi
8414116f 55              push    ebp
84141170 8bec            mov     ebp,esp
84141172 51              push    ecx
84141173 53              push    ebx
84141174 8b5d08          mov     ebx,dword ptr [ebp+8]
84141177 56              push    esi
84141178 57              push    edi

然后直接在ida中下断到KdEnterDebugger的绝对地址

ida 的 快捷键 G 输入 KdEnterDebugger的绝对地址,然后F2下断点,F9运行,当WinDbg再次下断点的时候就会断在ida中的KdEnterDebugger函数了

时间: 2024-10-06 00:05:31

ida GDB 远程调试的相关文章

gdb 远程调试android进程 -转

什么是gdb 它是gnu组织开发的一个强大的unix程序调试工具,我们可以用它来调试Android上的C.C++代码. 它主要可以做4件事情: 随心所欲地启动你的程序. 设置断点,程序执行到断点处会停住.(断点可以是表达式) 程序被停住后,可以查看此时程序中发生的事. 动态改变程序的执行环境. GDB远程调试原理图 如图上所示,我们需要使用gdbserver依附到我们要调试的进程上,gdb通过adbd和手机上的gdbserver 进行socket通信. 远程调试实战 在手机上启动gdbserve

20150502 调试分析之 使用gdb远程调试ARM开发板

20150502 调试分析之 使用gdb远程调试ARM开发板 2015-05-02 Lover雪儿 今天我们要学习的是使用gdb和gdbserver来远程调试开发板程序. 下面是本人的一些具体步骤: 下载gdb-7.9.tar.gz地址: http://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz 安装gdb tar -jxvf gdb-7.9.tar.bz2 ./configure -target=arm-none-linux-gnueabi --prefix=/hom

GDB远程调试(一)之DM8168下gdb远程调试环境的搭建

1.前言 gdb是较为流行和通用的linux环境调试工具,掌握它对于嵌入式开发工作来说非常必要,能够提高工作效率,快速发现和解决问题.最近有兴趣研究了下gdb使用,特总结如下以备以后查阅. 2.下载最新的gdb 下载地址:http://ftp.gnu.org/gnu/gdb/,选择目前最新的版本下载.我选择了gdb-7.7.tar.gz版本 3.编译gdb和gdbserver (1)解压到你的工作目录: [email protected]:~$ tar -xvf gdb-7.7.tar.gz (

gdb 远程调试android进程

原文:http://blog.csdn.net/xinfuqizao/article/details/7955346?utm_source=tuicool 什么是gdb 它是gnu组织开发的一个强大的unix程序调试工具,我们可以用它来调试Android上的C.C++代码. 它主要可以做4件事情: 随心所欲地启动你的程序. 设置断点,程序执行到断点处会停住.(断点可以是表达式) 程序被停住后,可以查看此时程序中发生的事. 动态改变程序的执行环境. GDB远程调试原理图 如图上所示,我们需要使用g

MAC使用IDA PRO远程调试LINUX程序

1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪图形界面调试器”,也跟IDA PRO之类的调试器相差甚远.这里又遇到另一个问题了——LINUX平台的IDA PRO不太好找. 综上,对于初学者而言最佳方案就是使用IDA PRO的远程调试功能! 2 环境配置 本文主要说明在MAC系统上如何通过IDA PRO对linux程序进行远程调试(如果宿主机为W

gdb 远程调试 android native 程序

先看一张原理图: 我是 Linux 和 Android 双料 0 基础,目前对 gdb 了解的很浅显.(注意:在 Android 上执行的命令,需要在 adb shell 下执行.) ①      打开命令终端(Ctrl + Alt + T),输入 adb shell.在 Android 的 data 目录下新建一个目录,如 dog_ld. ②      将 gdbserver 和要调试的程序从 Linux 拷贝到 Android 的 /data/dog_ld 目录. ③      进入 And

用GDB远程调试android native程序

上次写了几个native程序,想着如何调试,经过一阵子搜索和测试,终于完成了.有几个关键点: 1 gdb和gdbserver 因为这两个需要配套,建议使用同一个ndk下面的gdb和gdbserver gdbserver的是在 android-ndk-r9\prebuilt\android-arm\gdbserver 这个目录下 gdb 是在 android-ndk-r9\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bi

调试--gdb远程调试

sudo apt-get gdb-server, client调试时可能会出现 "--warning: Could not load vsyscall page because no executable was specified" 按下面步骤操作: I just encountered this problem myself when I used a cross-compiled gdb (you will in general need this if your remote

gdbserver 远程调试问题:设置文件和so搜索路径

编写一个必然crash 的程序 #include <stdio.h> void crash(){ char *a=0; *a=0; } int main() { printf("hello world\n"); crash(); printf("after crash\n"); } 执行gdb 远程调试 gdbserver :1234 a.out 运行 gdb , 运行命令  target remote :1234 必须用 file 指定可执行文件,才能