当前位置: 首页 > news >正文

使用DCI和RTIT技术进行精准调优--看录像

使用DCI和RTIT技术进行精准调优_哔哩哔哩_bilibili

每次看录像都记录一下。

PT/RTIT简介

DCI技术即通过USB3.0接口去访问调试目标机的JTAG组件,凡是运行在CPU上的代码均可以进行调试,这就没有了使用WinDBG调试时,会出现的不能调试敏感代码的问题,并且没有反调试的方法;如果想要提高调试技术的话,利用DCI技术去辅助自己,无疑是上乘的选择;这堂课,张银奎老师便会手把手的带你使用GDK7去调试!

1. 2012年以后的新的CPU才支持,当然现在是2025年了,大部分都支持。CPU记录是消耗内存的,BIOS中可以设置内存大小。甚至的是每个CPU占用的内存大小。

2. 讲课看来是2020年,nanocode还不完善,把ubuntu解析成了win7,这个工具看来还是在wind不过的思路基础上开发的。到处都是windbg的影子。

激活RTIT并抓取CPU日志

扩展命令!ptext64.help !ptext64.showoutputconfig

可以看到每个CPU有64k, 其中0,3号CPU已经
rdmsr 570  ---打开和关闭RTIT开关,可以查看intel手册

实际执行如下:

说明0号CPU是启用的。formats命令用来显示不同格式,很有用的技巧。
2号CPU最后是C,C的最后一位是0,所以2号CPU没有启用。

1号和2号都没有启用,用格蠹的!pto命令打开1号CPU,截图如下

在ubuntu上用绑定1号CPU的程序跑一段,然后再中断下来观察。

切换到1号CPU,关闭PT, ptf的f代表off,关闭的意思,没有成功,直接使用wrmsr 570 200c
使用!ptext64.showoutputconfig 可以看到1号CPU上有数据了

把内容保存到文件,是从DCI远程把数据取回

CPU的日记是这个样子:

看不懂,需要解码,如下命令:!ptd

程序流程包

使用测试程序geipt进行函数调优的演示,CPU日志加CR3过滤

!ps 0 0 geipt --没有显示CR3
!ps  列所有进程,终于找到了geipt的CR3

在未启用的2号CPU指定CR3的地址,把CR3作为过滤条件

在ubuntu上执行geipt程序,鼠标点几下。
先查看有没有数据:

有数据了。保存下来:

解码:!ptd --这是快速解码,这是过滤后的
 

http://www.xdnf.cn/news/241543.html

相关文章:

  • C++之特殊类设计及类型转换
  • 【kafka系列】消费者组
  • 系统架构设计师:设计模式——创建型设计模式
  • 解锁 C++26 的未来:从语言标准演进到实战突破
  • Nginx核心功能——nginx代理
  • 【数据结构】- 栈
  • Vue之脚手架与组件化开发
  • 计算机网络——HTTP/IP 协议通俗入门详解
  • 优雅关闭服务:深入理解 SIGINT / SIGTERM 信号处理机制
  • WPF封装常用的TCP、串口、Modbus、MQTT、Webapi、PLC通讯工具类
  • C#扩展方法(Extension Method)
  • Python生活手册-文件二进制:从快递柜到生鲜冷链的数据保鲜术
  • 健康生活新主张:全方位养生指南
  • Linux 命令如何同时支持文件参数与管道输入?
  • 基于数字图像处理的裂缝检测与识别系统(Matlab)
  • 安川机器人常见故障报警及解决办法
  • Flink流式计算核心:DataStream API与时间语义深度解析
  • 安装linux下的idea
  • 【Redis分布式】主从复制
  • 【精选】基于数据挖掘的广州招聘可视化分析系统(大数据组件+Spark+Hive+MySQL+AI智能云+DeepSeek人工智能+深度学习之LSTM算法)
  • Ollama 本地运行 Qwen 3
  • 短视频矩阵系统:源码搭建与定制化开发的深度剖析
  • Pinia: vue3状态管理
  • 算法--模拟题目
  • 算法笔记.试除法判断质数
  • 【经管数据】A股上市公司资产定价效率数据(2000-2023年)
  • 油气人工地震资料信号处理中,机器学习和AI应用
  • 科学养生,解锁健康生活密码
  • Scala 循环
  • openEuler 22.03 安装 Mysql 5.7,TAR离线安装