Last updated 2 years, 11 months ago
Last updated 2 years, 12 months ago
官方网站 https://www.hwdb.la
客服频道 @kefu
供求频道 @gongqiu
公群频道 @hwgq (好旺公群首字母)
新群 @xinqun
核心大群 @daqun
记账机器人 @hwjz
公司介绍 @hwdbgs
担保流程 @dbliucheng
Last updated 2 months, 3 weeks ago
gdb 灵车调试小技巧
debuggee 的某块内存在不知道什么地方被写穿了?此时常用的调试方式是使用 watch
命令找到这块内存到底是在哪里被写穿的。然而当 gdb 甚至硬件不支持 hardware breakpoint 时, watch
命令会被以纯软件的方式实现,性能太差几乎是不可用的。
这种情况下,一个 watch
的高性能平替是:在内存被写穿之前,使用 call mprotect(addr, size, 1)
将这块内存所在的页设置为只读,这样就可以快速地知道整个页在什么地方被写入了。如果被写入的地方不是感兴趣的区域,则可以用 call mprotect
将内存页改回可写,跳过这个点后,再次改回只读。
感觉应该可以写个 Python 脚本来实现一个全自动的 custom\-watch
,但我的问题已经解决了,懒得实验了。
用 ChatGPT 没问题,生成出来的一些梦游都写不出来的东西看都不看就 git push
上来属实离谱。
沉思:
电池健康度的第一个百分点的含金量是否可以类比为油箱里的第一格。
世界上最痛苦的事是 debug CI,世界上第二痛苦的事是 bisect。
Last updated 2 years, 11 months ago
Last updated 2 years, 12 months ago
官方网站 https://www.hwdb.la
客服频道 @kefu
供求频道 @gongqiu
公群频道 @hwgq (好旺公群首字母)
新群 @xinqun
核心大群 @daqun
记账机器人 @hwjz
公司介绍 @hwdbgs
担保流程 @dbliucheng
Last updated 2 months, 3 weeks ago