zoukankan      html  css  js  c++  java
  • [dive into martix] kernel 调试笔记 part.1 gdk7 环境搭建

    0x00.背景

    感谢mentor提供了一台gdk7调试设备。可以在cpu级别调试Linux kernel和windows内核。本节先介绍环境搭建。

    0x01.环境

    按照这里的说明下载安装Intel system sutdio/windbg/nanocode。
    Intel system studio这里选择了所有的package。安装完成后重启。

    0x02. 调试运行

    先运行gdk7,连上显示器选择ubuntu启动。再用usb3的线连接主机和gdk7,注意主机用usb3.0接口,gdk7连接后面的usb3.0接口。
    需要调整nanocode的两个配置。点击nanocode右下角的设置->调试器设置,设置正确的IPCApi和IPC Libs。我这里是

    C:Program Files (x86)IntelSWToolssystem_studio_2020	oolspython3Libsite-packagespy2ipcwindowsx64IpcApiAccess_x64.dll
    c:Program Files (x86)IntelSWToolssystem_studio_2020	oolsOpenIPC_1.2035.4868.100Bin
    

    应用之后重启nanocode。

    之后点击左侧的Nano Debugger,选择调试内核。usb3选择了DCI Open。
    启动后可以选择输出->Nano Code来输出日志。日志没有什么warning和error就没有问题。

    完全启动后点击暂停的按钮,这时就断下来了。可以查看寄存器信息,反汇编代码。

    启动后的输出:

    Starting new session...
    Nano Debugger (NDB) 1.6.672
    Starting KD session type=usb3,proto=dcid,ipc=open,opt=rxs
    
    Microsoft (R) Windows Debugger Version 10.0.17763.132 AMD64
    Copyright (c) Microsoft Corporation. All rights reserved.
    
    All logic CPU threads detected: 1000 1001 1002 1003
    Kernel Debugger connection established
    Found NGB marker in target memory at ffffffffff5ff000
    Connected to Windows 7 7601 x64 target at (Fri Feb  5 00:54:38.701 2021 (UTC + 8:00)), ptr64 TRUE  <-----这里的target有问题,应该是linux才对。
    

    但是点击单步调试之后,就无法中断了。

    0x03 TODO

    • 增加内核符号和源码。
    • 单步调试内核。
    • 多个cpu的调试原理,能切换cpu吗?
    • 买一个hdmi多对一,不然切换显示器很麻烦。
  • 相关阅读:
    Numpy学习笔记练习代码 ——(二)
    Requests爬取表格数据并存入CSV中
    Numpy学习练习代码 ——(一)
    Requests爬取中文网站乱码问题
    Pycharm用Ctrl+鼠标滚轮控制字体大小
    一、Windows10下python3和python2同时安装
    inux下配置rsyncd服务
    shell 脚本中$$,$#,$?分别代表什么意思?
    linux shell awk 流程控制语句(if,for,while,do)详细介绍
    定时任务
  • 原文地址:https://www.cnblogs.com/helica/p/14375734.html
Copyright © 2011-2022 走看看