本系列学习主要以GDK7为目标机,以NanoCode为调试工具来学习调试linux,windows内核,以及应用程序。

介绍

从高端调试(http://advdbg.org/gdk/)注册并入手GDK7机器,从NanoCode官网(https://www.nanocode.cn/#/download)下载了NanoCode。

调试主机使用win10,通过USB3线连接到目标机GDK7,然后主机使用NanoCode工具来调试目标GDK7。

目标GDK7预装了Ubuntu和Win10(未激活),可以分别调试Windows和Linux。

GDK7:

是针对X86平台开发的高级调试套件,包含了目标主机(预装了Ubuntu和Win10(未激活)),USB3调试线等。

NanoCode:

是基于Visual Studio Code二次开发的调试工具,可以调试内核,应用程序等,调试指令兼容Windbg。NaoCode可以调试,提问,阅读和学习,调试时,需要先注册会员。

准备环境

主机环境(win10):

安装完NanoCode(默认安装在c:\NanoCode)之后,还需要安装Intel System Studio(简称ISS),从官网(https://dynamicinstaller.intel.com/system-studio/download)下载并安装。Intel System Studio比较庞大,得耐心下载和安装。

安装注意事项:

1. 安装ISS时,ISS会判断本机是否安装了Windbg,从而是否安装EXDIIPC.dll,EXDIIPC.dll是NaoCode调试时选择exdi方式调试依赖的组件。所以在在安装ISS时请选择custom,然后选择WinDBG extension。

2. 安装完ISS之后,需要检查一下NanoCode安装目录下data目录下ndb.cfg文件的ipcapi的路径是否正确,如果不正确,需要修改一下,比如ipcapi=C:\IntelSWTools\system_studio_2020\tools\python3\Lib\site-packages\py2ipc\windows\x64\IpcApiAccess_x64.dll,如果路径带空格,使用双引号括起来。查找时,一般这串(tools\python3\Lib\site-packages\py2ipc\windows\x64\IpcApiAccess_x64.dll)是一致的。

目标机GDK7(Win10):

目标机Win10没有预装任何需要的软件。

目标机GDK7(Ubuntu):

目标机Ubuntu预装了服务ndsrv和内核模块ndb.ko,应该是和主机通信的组件。可以从高端调试下载安装:http://advdbg.org/gdk/resource.aspx,如果二进制无法安装,可以通过编译源码来安装。

尝试中断目标Ubuntu和Windows

中断Ubuntu:

1,目标机GDK7开机进入Ubuntu,可以先lsmod | grep ndb确认ndb.ko是否正常运行;

2,主机Win10启动NaoCode;选择“去调试”或者直接选择左边的内核调试;

3,选择调试选项,点击“确定”;

4,然后等待工具栏上的“break”按钮变亮,同时右下角任务栏也会多出OpenIPC_x64.exe的图标;

5,此时,目标价GDK7的Ubuntu还在活蹦乱跳,准备点击“break”按钮了,看看能不能中断下来了(中断下来就抽根烟,中断不下来就抽二根烟);

6,很遗憾,如二烟所愿,没有中断下来;此时,点击Output->Nano Code查看输出,发现了问题(...no GPC threads in this domain),果断打开设备管理器,发现设备不正常。

7,将“通用串行总线控制器中”带“叹号”的设备先禁用一次,然后在启用一次,这样就正常了,输出窗口也输出了一些信息;

8,在试试,看看能不能中断,这次,如我所愿,断下来了,也进入了输入模式;

9,然后输入.reload,在输入lm,显示了很多模块;

10,先到这里,输入g或者按F5或者点击工具栏的"运行"按钮继续运行,Ubuntu又活了。

中断Windows10:

1,GDK7开机进入Win10;

2,重新启动NanoCode(以后使用不重启),进入内核调试,选择调试选项;

3,点击确定之后,等待一会,直接中断下来了,同时会启动“IntelExdiServer”;

4,还是比较顺利的,重新g起来,也没有问题;

总结:

1. 主要使用了GDK7和NanoCode,环境搭建,中断系统,后续在介绍单独的调试过程;

2. 下次调试一下Linux内核函数,尝试中断printk;

GDK7+NanoCode调试学习系列1--环境搭建相关推荐

  1. Jmeter学习系列----1 环境搭建

    注:在安装Jmeter之前,请先检查下电脑有没有装JDK:开始->运行->然后输入cmd->进入命令行界面,输入java -version , 出现以下信息就是此电脑已安装了JDK. ...

  2. React系列---Webpack环境搭建(二)不同环境不同配置

    React系列---Webpack环境搭建(一)手动搭建 React系列---Webpack环境搭建(二)不同环境不同配置 React系列---Webpack环境搭建(三)打包性能优化 实际项目中,往 ...

  3. 深度学习(二)theano学习笔记(1)环境搭建

    theano学习笔记(1)环境搭建 原文地址:http://blog.csdn.net/hjimce/article/details/46654229 作者:hjimce 搭建theano实属不易,因 ...

  4. 深度学习之tensorflow环境搭建

    深度学习之tensorflow环境搭建: 1.搭建的步骤 1-1.破解版的Pycharm软件包下载 1-2.Ananconda软件包的下载 1-3.使用Anaconda Prompt 命令,首先输入 ...

  5. Go学习笔记_环境搭建

    Go学习笔记_环境搭建 Go背景知识 go的特点(官网): Build fast, reliable, and efficient software at scale- Go is an open s ...

  6. cocos2d-x lua 学习笔记(1) -- 环境搭建

    Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...

  7. 怎么装python的keras库_matlab调用keras深度学习模型(环境搭建)

    matlab没有直接调用tensorflow模型的接口,但是有调用keras模型的接口,而keras又是tensorflow的高级封装版本,所以就研究一下这个--可以将model-based方法和le ...

  8. Django学习笔记 开发环境搭建

    为什么使用django? 1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率. 2.大量内置应用:后台管理系 ...

  9. 小白带你入坑xamarin系列之环境搭建和准备

    序言: 移动端的跨平台百花齐放,各种技术方案和方法都是层出不穷.目前xamarin确实是一套成熟可靠,完全值得信赖的开发框架.尤其是对传统做WPF ASP.NET的开发团队来说要节约成本开始移动端开发 ...

  10. 基于 Android NDK 的学习之旅-----环境搭建

    工欲善其事 必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android 开发环境搭建 Android开发环境搭建不是重点,相信看此文章的 ...

最新文章

  1. 【青少年编程】【Scratch】04 事件模块
  2. 清华博士宅家太无聊,给猫咪讲函数
  3. 遗传算法c语言程序,遗传算法c语言代码.doc
  4. 赠书 | 成为一个多模型思考者,从掌握数据跃迁到拥有智慧
  5. android中DatePickerTimePicker的应用
  6. python【蓝桥杯vip练习题库】ALGO-79删除数组零元素
  7. tensorflow2.X安装及使用
  8. Silverlight与JavaScript通信
  9. P2151 [SDOI2009]HH去散步
  10. WWW超文本源码浏览器
  11. @EnableAsync annotation metadata was not injected
  12. 托福试卷真题_历年托福考试阅读真题汇总含答案
  13. matlab读取adtx文件,求大家帮我看看下面中matlab中的程序问题出在哪里? - 计算模拟 - 小木虫 - 学术 科研 互动社区...
  14. SVM多分类问题 :matlab中的应用
  15. 收下这10个终身学习资源号,Max你的工作效率
  16. Qt--将Qt 动态链接生成的exe及依赖dll打包方法
  17. 软考论文写作攻略,让你轻松拿高分!
  18. 滚动时RecyclerView对ViewHolder的缓存与复用
  19. 磁盘分区助手使用心得
  20. ps cs6调油画效果教程

热门文章

  1. php更换banner图片,如何替换banner上的图片?
  2. WordPress个人博客Cosy3.1.3主题+积木部分插件
  3. win10 休眠设置无效_win10怎么设置不休眠?win10休眠设置教程--系统之家
  4. 【经典面试题】css如何画一个三角形?
  5. Dependency-check
  6. Love To Be Loved By You
  7. Win10系统文件名太长导致无法删除
  8. w10计算机恢复出厂设置,如何给win10系统的电脑强制恢复出厂设置
  9. 迅捷pdf转换器——如何提取pdf中的图片
  10. 女神告诉你什么是互联网思维