[其他ST产品] 不知道哪个函数在某个内存地址写入数据

[复制链接]
422|75
Bowclad 发表于 2026-7-3 16:26 | 显示全部楼层
先确认数据是随机修改,还是特定条件触发,然后尝试设置数据观察点,结合内存访问日志定位问题。
单芯多芯 发表于 2026-7-4 16:50 | 显示全部楼层
通过检查变量的声明位置或使用编译器工具查询。全局变量在全局范围内,静态变量则在局部文件或程序内可见。
CarterERO 发表于 2026-7-4 21:49 | 显示全部楼层
直接在Keil里给目标地址设个写断点,看哪个函数触发它。记得检查堆栈溢出哦。
SophiaOP 发表于 2026-7-6 12:44 | 显示全部楼层
用Keil设置数据断点,观察点追踪,或DWT模块监控。
digit0 发表于 2026-7-8 12:25 | 显示全部楼层
触发条件取决于具体应用,比如传感器信号变化、定时器溢出、外部中断等。
理想阳 发表于 2026-7-11 17:10 | 显示全部楼层
硬件监控确保实时性,不会遗漏数据,保障系统稳定运行。
线稿xg 发表于 2026-7-15 10:16 | 显示全部楼层
循环检查目标地址,发现变化时输出PC值,但精度不足,可能漏检。
捉虫天师 发表于 2026-7-15 12:38 | 显示全部楼层
硬件断点利用 CPU 调试寄存器,只要目标地址被写入就立刻断下,直接停在写操作代码处,完美解决 “不知道哪个函数写的” 问题。
AIsignel 发表于 2026-7-15 23:30 | 显示全部楼层
STM32芯片都自带硬件断点功能,只要调试器连接没问题,就能使用。
小灵通2018 发表于 2026-7-18 14:42 | 显示全部楼层
CPU 监视目标内存地址,任何指令对该地址执行写操作时立刻断下,直接停在写入的函数代码处。
鹿鼎计 发表于 2026-7-22 18:23 | 显示全部楼层
DWT模块实现硬件监控,确保零延迟高精度,适合对实时性要求高的应用。
天天向善 发表于 2026-7-24 10:58 | 显示全部楼层
CPU监控特定内存地址,写操作发生即中断至执行点。
小熊01 发表于 2026-7-24 23:40 | 显示全部楼层
中断服务程序应该谨慎修改地址,避免造成数据损坏或系统不稳定。
zhuomuniao110 发表于 2026-7-25 17:33 | 显示全部楼层
分 Windows、Linux 两大平台,分静态逆向、动态调试两种场景
LinkMe 发表于 2026-7-26 16:22 | 显示全部楼层
在STM32CubeIDE中设置数据断点,首先打开代码文件,进入断点配置界面,然后选中数据内存变量,点击添加断点即可。记得关闭调试后进行测试。
lllook 发表于 2026-7-27 16:32 | 显示全部楼层
动态分配的内存地址会变动,确保使用时地址更新,避免访问错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0