建立调试会话

  • 用户层调试会话的建立

    • 直接创建进程并调试

    • 附加到已经打开的进程

      • 侵入式附加:接管正在运行的进程,可以进行调试

      • 非侵入式附加:只能读取进程信息,不能接收目标进程的调试事件

通常情况下一个程序只能被一个调试器调试,如果一个程序正在被调试时而我们又想要去查看他的信息时就可以使用非侵入式附加的方式,实际不能调试,只能查看它的信息。

  • 内核层调试会话的建立

    • 使用物理机器调试虚拟机,建立双击调试环境

    • 使用类似用户层的非侵入式调试,仅仅查看内核中的信息,本地内核调试

必要条件:

  1. 需要以调试的模式启动windows操作系统

开启虚拟机按F8,出现以下界面,选择调试模式

  1. 需要以管理员的方式运行Windbg

  2. 操作系统与WinDbg版本需要对应

打开Windbg选择内核调试,本地确定,开始查看!

WindDbg界面概览

  1. 工具栏详解

2.  窗口选项

符号与源码

  • 符号文件

    • 概念:是在编译器编译可执行文件的时生成的一些文件,通常我们在windows平台遇到的符号文件叫做pdb文件,其中包括

      • 全局变量类型、名称、地址

      • 局部变量类型、名称、地址

      • 函数名称、原型、地址

      • 变量、结构体类型的定义

    • 符号文件对于程序的调试非常重要,无论源码调试和非源码调试

    • 设置方法一:

    

  • 方法二:设置一个环境变量 _NT_SYMBOL_PATH

  • 方法三:使用命令.sympath+

  • 设置完路径后加载符号

    • 使用命令 .reload刷新符号加载路径

    • 使用命令 ld + [模块名]来加载某一个模块的符号

    • 通过网络来获取符号文件

设置Symbol File (.pdb 文件)路径 SRVc:\mysymbol http://msdl.microsoft.com/download/symbols

srvd:\SymbolsLocalhttp://msdl.microsoft.com/download/symbols

调试的时候会从微软网站上下载符号,并存放在c:\mysymbol目录中

如果有其它符路径用分号隔开,如 ;c:\pdb

  • 源码调试

符号文件加载完成就可以进行源码调试

Windbg工作空间

  • 当前Windbg中的工作环境称之为工作空间

    • 当前的界面布局等调试器设置等信息

    • 调试项目有关的属性,参数以及调试器设置等信息

  • 默认工作空间

    • 基础工作空间

    • 默认内核态工作空间

    • 默认用户态工作空间

    • 默认转储文件工作空间

默认工作空间是以单个分析过程为区分的,例如当使用WinDbg分析一个应用程序时会根据可执行文件的路径和文件名为其建立一个默认的工作空间。

例如下面这个工作空间在保存之后,下次打开此程序的就会自动显示这个布局,别的程序就不可以使用这个工作空间

  • 命名工作空间

    • 在WinDbg中可以为工作空间命名,可以把满意的工作空间保存起来或者转储成文件,下次调试起来就非常的方便了。

    • 保存在WinDbg中

    • 保存在文件中,可以带到任何地方只需要调试程序时,打开,Open WorkSpace in File找到保存的文件,就可以使用自己以前保存的工作空间了

WinDag基础1的更多相关文章

  1. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  2. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. Golang, 以17个简短代码片段,切底弄懂 channel 基础

    (原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...

  5. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  6. HTTPS 互联网世界的安全基础

    近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...

  7. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  8. .NetCore MVC中的路由(1)路由配置基础

    .NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...

  9. .NET基础拾遗(5)多线程开发基础

    Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...

随机推荐

  1. C语言入门-数组

    今天十月一日,上午看阅兵激情澎湃,但是下午还是要继续写C语言,前面的这块很简单 int number[100]; scanf("%d" , &number[i]); 一.定 ...

  2. linux下mysql数据库操作命令

    1:启动服务 service mysqld start (5.0版本是mysqld) service mysql start (5.5.7版本是mysql) 2:停止服务 service mysqld ...

  3. Spring Cloud 全链路追踪实现

    简介 在微服务架构下存在多个服务之间的相互调用,当某个请求变慢或不可用时,我们如何快速定位服务故障点呢?链路追踪的实现就是为了解决这一问题,本文采用Sleuth+Zipkin+RabbitMQ+ES+ ...

  4. SpringBootSecurity学习(14)前后端分离版之 OAuth2.0介绍

    登录总结 前面基本介绍了security的常规用法,同时介绍了JWT和它的一个简单实现,基本上开发中遇到的登录问题都能解决了,即使在分布式开发,或者微服务开发中实现登录也基本没有问题了.securit ...

  5. [Note] GNUstep on Windows

    1.下载与安装 www.gnustep.org/windows/installer.html 下载 GNUstep MSYS System GNUstep Core GNUstep Devel 并安装 ...

  6. inkscape 无法打开文档属性

    从文件->文档属性 点击了无反应 参考https://bugs.launchpad.net/inkscape/+bug/1664031 其实不是无反应,只是因为我们自己的某些操作,让文档属性这个 ...

  7. 「面试高频」二叉搜索树&双指针&贪心 算法题指北

    本文将覆盖 「字符串处理」 + 「动态规划」 方面的面试算法题,文中我将给出: 面试中的题目 解题的思路 特定问题的技巧和注意事项 考察的知识点及其概念 详细的代码和解析 开始之前,我们先看下会有哪些 ...

  8. 终端 10X 工作法(一)

    目录 1. Terminal 2. Grep 3. Sed 4. Awk 5. Xargs 6. Find 在 github 上面有一个 700 多人 star 的 repo 叫做 Bash-Onel ...

  9. Java的IO操作之关闭流

    我们知道,当结束对一个流的操作时,需要调用流的close()方法对其进行释放,这将释放掉与这个流有关的所有资源,包括文件句柄.端口等.如果不关闭流,垃圾回收机制将无法识别你是否已使用完这个文件,读取的 ...

  10. XSS扫盲到漏洞挖掘上手

    复习xss ,也总结一下XSS基础的点到进阶的知识  目录 0x01 XSS扫盲入门 0x02 XSS payload构造 0x03 XSS payload变形进阶   0x01 XSS扫盲入门 XS ...