zoukankan      html  css  js  c++  java
  • windbg学习 gc j(Execute IfElse).if

    当一个条件断点的末尾包含一个执行命令时,需要使用gc命令

    例如,如果使用g (Go)命令来到达该断点,则恢复为自由执行。但是如果使用单步或跟踪来到达该断点,也会以单步或跟踪的方式来恢复执行


    j Expression Command1 ; Command2
    j Expression 'Command1' ; 'Command2' 

    Expression
    要求值的表达式。如果表达式的值是非0值,则执行Command1 。如果表达式的值为0,则执行Command2
    Command1
    Expression 为非0值(TRUE)时要执行的命令字符串。可以通过在命令字符串两边加上单引号( ' ),并且以分号来分隔各个命令来一次使用多条命令。如果命令字符串是单条命令,单引号是可选的。 
    Command2

    Expression 值为0(FALSE)时要执行的命令字符串。可以通过在命令字符串两边加上单引号( ' ),并且以分号来分隔各个命令来一次使用多条命令。如果命令字符串是单条命令,单引号是可选的。

    cx=fb08
    0:000> j (eax!=0) r eax; r bx
    bx=0
    0:000> j (eax!=0) r eax; r bx; r cx
    bx=0
    0:000> j (eax!=0) r eax; 'r bx; r cx'
    bx=0
    cx=fb08
    可以看到第二条由于没有单引号,所以后面的被忽略了!


    .if关键字的行为和C中的if类似

    .if (Condition) { Commands 

    .if (
    Condition) { Commands } .else { Commands 

    .if (
    Condition) { Commands } .elsif (Condition) { Commands 

    .if (
    Condition) { Commands } .elsif (Condition) { Commands } .else { Commands } 

    0:000> .if (eax>ebx){r eax}.else{r ebx; r ecx}
    ebx=00000000
    ecx=001dfad0



  • 相关阅读:
    Python数据库 4.Python与数据库的交互
    Python数据库 3.MongoDB(区分大小写)
    Python数据库2.Redis数据库
    Python数据库1. 数据库简介
    Python基础 12.常用模块
    Python基础 11.Vim使用
    Python基础 10.linux基本命令
    栈理解
    java集合Collection
    斐波那契函数
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693417.html
Copyright © 2011-2022 走看看