【问题标题】:Break when a register has an specific value?当寄存器具有特定值时中断?
【发布时间】:2018-02-14 21:25:27
【问题描述】:

当一个特定的值被分配给eax 寄存器时,有什么方法可以让 Windbg 中断?我知道我的程序中的一个函数正在返回一个特定的错误,这样可以很快找到有罪的。

【问题讨论】:

    标签: windbg


    【解决方案1】:

    您可以在所有可疑函数上设置断点,然后检查eax 寄存器值,如下所示:

    bp myAddress ".if (@retreg == dodgyVal) {walk the stack and do other cool stuff} .else {gc}"
    

    有关可用的寄存器值,请参阅 conditional breakpointspseudo-register syntax

    【讨论】:

    • 是的,这可能有效。我想知道当寄存器的值发生变化时是否有中断的捷径。通常可疑函数是一个很长的列表。
    猜你喜欢
    • 1970-01-01
    • 2015-11-28
    • 2015-06-17
    • 1970-01-01
    • 2011-09-14
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多