Files
ViperOS/VKernel/Kernel/services
TermiNexus 0cee9612ae diag(vkernel): 刷新循环前打印全部参与量(定向内存转储),定位跑飞来源
已给刷新/背景循环夹取行界,但现象不变(仍卡在 “[rc] vblank done” 之后、
没有 “[rc] flush done”)——说明跑飞的不是循环边界(_dirty_y_max),
而是循环体内的量:row_bytes/run_bytes 或指针,或 _dirty_rows 本身。

故在 _wait_vblank() 之后、刷新循环之前,一次性打印所有参与量:
  dc dmin dmax w h pitch row_bytes
  fb back dirty_rows row_buf bg_row_buf
任一异常即为被写坏的对象,且直接给出被写坏后的数值(量级)。
(这就是你说的“内存转储”的定向版:只打这块状态,编译快、迭代方便。)
2026-10-14 14:26:26 +08:00
..