使用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 --这是快速解码,这是过滤后的
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值