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多对一,不然切换显示器很麻烦。
  • 相关阅读:
    秘密挤奶机(最大流,二分)
    伊基的故事 I
    多源汇最大流(最大流)
    无向树是二分图
    上下界可行流
    圆桌问题(最大流,二分图,网络流24题)
    双栈排序
    观光奶牛
    拜访奶牛
    愤怒的牛&数列分段II
  • 原文地址:https://www.cnblogs.com/helica/p/14375734.html
Copyright © 2011-2022 走看看