忽略 Windbg 条件断点中的某些位置
Ignore some locations in Windbg Conditional breakpoints
我正在尝试使用以下语法在 Windbg 的 Windows 内核模式上设置条件硬件断点:
ba w1 ffff802312345678 "j(@rip==ffff802387654321 || @rip==ffff802387654330) 'gc';''"
我使用上面的命令是为了忽略从 ffff802387654321
或 ffff802387654330
对我的目标位置 (ffff802312345678
) 的每次访问,所以每次从其他地方访问时,然后我会收到通知。
但问题是,它仍然在 ffff802387654321
或 ffff802387654330
等其他位置中断。
我还阅读了 official documents 关于“条件断点和注册符号扩展”的内容,并且还测试了如下内容:
ba w1 ffff802312345678 "j((@rip & 0xffffffffffffffff)=ffff802387654321 || (@rip & 0xffffffffffffffff)=ffff802387654330) 'gc';''"
但是还是不行。
所以我的问题是:
- 上面的命令有什么问题,我怎样才能达到预期的效果
结果?
没有||
MASM operator。这是 or
.
使用
ba w1 ffff802312345678 "j(@rip==ffff802387654321 or @rip==ffff802387654330) 'gc';''"
我没有重现你的确切案例,而是一个更简单的例子:
0:000> r rip
rip=0000000076db6fb0
0:000> j (@rip==0000000076db6fb0 || @rip==0) '.echo 5';'.echo 6"
Numeric expression missing from '| @rip==0) '.echo 5';'.echo 6"'
0:000> j (@rip==0000000076db6fb0 or @rip==0) '.echo 5';'.echo 6"
5
我正在尝试使用以下语法在 Windbg 的 Windows 内核模式上设置条件硬件断点:
ba w1 ffff802312345678 "j(@rip==ffff802387654321 || @rip==ffff802387654330) 'gc';''"
我使用上面的命令是为了忽略从 ffff802387654321
或 ffff802387654330
对我的目标位置 (ffff802312345678
) 的每次访问,所以每次从其他地方访问时,然后我会收到通知。
但问题是,它仍然在 ffff802387654321
或 ffff802387654330
等其他位置中断。
我还阅读了 official documents 关于“条件断点和注册符号扩展”的内容,并且还测试了如下内容:
ba w1 ffff802312345678 "j((@rip & 0xffffffffffffffff)=ffff802387654321 || (@rip & 0xffffffffffffffff)=ffff802387654330) 'gc';''"
但是还是不行。
所以我的问题是:
- 上面的命令有什么问题,我怎样才能达到预期的效果 结果?
没有||
MASM operator。这是 or
.
使用
ba w1 ffff802312345678 "j(@rip==ffff802387654321 or @rip==ffff802387654330) 'gc';''"
我没有重现你的确切案例,而是一个更简单的例子:
0:000> r rip
rip=0000000076db6fb0
0:000> j (@rip==0000000076db6fb0 || @rip==0) '.echo 5';'.echo 6"
Numeric expression missing from '| @rip==0) '.echo 5';'.echo 6"'
0:000> j (@rip==0000000076db6fb0 or @rip==0) '.echo 5';'.echo 6"
5