张银奎-自主可控的调试工具.pdf
1、自主可控的调试工具主讲人:张银奎演讲嘉宾介绍张银奎(Raymond Zhang)格蠹科技创始人25年编程经历格蠹科技2003.5 2016.12 INTEL软件调试作者+格蠹汇编软件简史译作21世纪机器人机器学习数据挖掘原理人工智能求解复杂问题的方法和策略观止微软创建NT和未来的夺命狂奔现代x86汇编语言程序编程苏轼:“问汝平生功业,黄州惠州儋州。”CONTENT目录2023K+01挥码枪Nano Code调试器Semihosting技术02032023K+挥码枪Part 01DP与外部调试器间的物理接口让ARM起飞的关键一步,1997年宣布的Nokia 6110和2001年推出的iPod使用
2、的都是ARM7-TDMISoC调试功能ADIeyeseesightdebuggerdebug linkCoreSightThe ADI provides access to debug functionality that is provided by debug components in an embedded SoC.Purpose of the ADI(访问SoC中的调试功能)DPJTAGSWSWJ2023K+Nano Code调试器Part 02NDINTP(Nano Target Probe)DCI(Direct Connect Interface)NDP(Nano Debug P
3、rotocol)ELK(Debug Embassy for Linux)DBGENG(Debug Engine for Windows)ETF(Debug Embassy for Trusted Firmware)EHV(Debug Embassy for Hyper-V)CapstoneNDWMARM(Machine for ARM)MRV(Machine for RISC-V)Arch ViewMetaverse Viewlk_metant_metasmm_metagrub2_metaatf_metahv_metakvm_meta#define ARMV8_BKPT(Im)(0 xD420
4、0000|(Im&0 xffff)5)#define ARMV8_HLT(Im)(0 x0D4400000|(Im&0 xffff)5)可以用专门的断点指令BKPT也可以用无效指令,目标是产生异常软件断点与安全大趋势冲突使用DPM方式写内存失败硬件断点我是泰山,请密切监视四马路100号硬件断点命令ba e1 代表执行Child-SP RetAddrCall Siteffffff800ed5bcd0 ffffff8008ea09ec lk!tcp_sendmsg+0 x8 net/ipv4/tcp.c 1458ffffff800ed5bd00 ffffff8008d5f598 lk!inet_s
5、endmsg+0 x34 net/ipv4/af_inet.c 799ffffff800ed5bd30 ffffff8008d61310 lk!sock_sendmsg+0 x50 net/socket.c 623ffffff800ed5be70 ffffff8008d613b0 lk!_sys_sendto+0 xb8 net/socket.c 1787ffffff800ed5be80 ffffff8008098ca4 lk!_arm64_sys_sendto+0 x20 net/socket.c 1795ffffff800ed5beb0 ffffff8008098de0 lk!el0_sv
6、c_common.constprop.0+0 x64./arch/arm64/include/asm/current.h 19ffffff800ed5bec0 ffffff8008083d08 lk!el0_svc_handler+0 x28 arch/arm64/kernel/syscall.c 1640000007f27ffd8f0 0000007f8d585218 lk!el0_svc+0 x8 arch/arm64/kernel/entry.S 941tcp_sendmsgChild-SP RetAddrCall Siteffffff800f08bb00 ffffff80090a060





点击查看更多