建立调试会话

  • 用户层调试会话的建立

    • 直接创建进程并调试

    • 附加到已经打开的进程

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

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

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

  • 内核层调试会话的建立

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

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

必要条件:

  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. Spring MVC-从零开始-view-向页面传递data(ModelAndView与ModelMap的区别)

    1.ModelMap的用法 package com.jt; import org.springframework.stereotype.Controller; import org.springfra ...

  2. 记录ceph两个rbd删除不了的处理过程

    在一个使用的环境发现两个ceph的rbd删除不了,发现两个rbd都是由于残留了watch的信息.在此记录处理过程. 处理方法 [root@node- ~]# rbd -4cce-b39d-709e05 ...

  3. ZK集群的Leader选举源码阅读

    前言 ZooKeeper对Zab协议的实现有自己的主备模型,即Leader和learner(Observer + Follower),有如下几种情况需要进行领导者的选举工作 情形1: 集群在启动的过程 ...

  4. 前端 NPM常用命令行

    1. 登陆npm npm login 2. 将项目发布至npm npm publish 3. 查看已有源; 其中前面带星号的为当前使用的npm源 nrm ls 4. 切换源 nrm use 或 如: ...

  5. php常用操作(第二版)

    1.多个字段多重排序 function sortArrByManyField(){ $args = func_get_args(); // 获取函数的参数的数组 if(empty($args)){ r ...

  6. link 和 @import 的区别是什么?

    link语法结构: <link href="url" rel="stylesheet" type="text/css"> @im ...

  7. bugku--web--输入密码查看flag

    首先打开网页链接 随机五位数的密码爆破,先用python写一个脚本来生成随机五位数: x=range(0,10) f=open("3.txt",'w') for i in x: f ...

  8. Beautiful Soup 4.2.0 文档(一)

    Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时 ...

  9. 攻防世界(XCTF)WEB(进阶区)write up(三)

    挑着做一些好玩的ctf题 FlatScience web2 unserialize3upload1wtf.sh-150ics-04web i-got-id-200 FlatScience 扫出来的lo ...

  10. 关于参加AWD攻防比赛心得体会

    今天只是简单写下心得和体会 平时工作很忙 留给学习的时间更加珍少宝贵. 重点说下第二天的攻防比赛吧  . 三波web题 .涉及jsp,php,py. 前期我们打的很猛.第一波jsp的题看到有首页预留后 ...