Examining the Registers

To examine individual registers, use the print command with the register name prepended with the dollar sign ($). Commands showing all (or a subset of) the registers are specific for the mode; see examples below.

GDB Mode

The following command allows you to examine sets of registers:

info registers

For example:

(idb) print $sp

$14 = (void *) 0xbfffe2cc

(idb) print /x $sp

$15 = 0xbfffe2cc

(idb) info registers

$eax           0x1 1

$ecx           0xbfffe42c -1073748948

$edx           0xbfffe3b0 -1073749072

$ebx           0xb74e7d98 -1219592808

$esp [$sp]     0xbfffe2cc (void *) 0xbfffe2cc

$ebp [$fp]     0xbfffe398 (void *) 0xbfffe398

$esi           0xbfffe424 -1073748956

$edi           0xb74e567c -1219602820

$eip [$pc]     0x8051603 (void *) 0x8051603

$eflags        0x296 662

$cs            0x23 35

$ss            0x2b 43

$ds            0x2b 43

$es            0x2b 43

$fs            0x0 0

$gs            0x33 51

$orig_eax      0xffffffff -1

$fctrl         0x37f 895

$fstat         0x0 0

$ftag          0x0 0

$fiseg         0x0 0

$fioff         0x0 0

$foseg         0x0 0

$fooff         0x0 0

$fop           0x0 0

DBX Mode

To look at all the registers, use the printregs command. For example:

(idb) print $sp

-1073759092

(idb) printx $sp

0xbfffbc8c

(idb) printregs

$eax           0x1 1

$ecx           0xbfffbdec -1073758740

$edx           0xbfffbd70 -1073758864

$ebx           0xb74e7d98 -1219592808

$esp [$sp]     0xbfffbc8c -1073759092

$ebp [$fp]     0xbfffbd58 -1073758888

$esi           0xbfffbde4 -1073758748

$edi           0xb74e567c -1219602820

$eip [$pc]     0x8051603 134551043

$eflags        0x292 658

$cs            0x23 35

$ss            0x2b 43

$ds            0x2b 43

$es            0x2b 43

$fs            0x0 0

$gs            0x33 51

$orig_eax      0xffffffff -1

$fctrl         0x37f 895

$fstat         0x0 0

$ftag          0x0 0

$fiseg         0x0 0

$fioff         0x0 0

$foseg         0x0 0

$fooff         0x0 0

$fop           0x0 0

$f0            0x0 0

$f1            0x0 0

$f2            0x0 0

$f3            0x0 0

$f4            0x0 0

$f5            0x0 0

$f6            0x0 0

$f7            0x0 0

$xmm0          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm1          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm2          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm3          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm4          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm5          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm6          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$xmm7          0x0 union {

  v4_float = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_double = [0] = 0,[1] = 0;

  v16_int8 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0,[8] = 0,[9] = 0,[10] = 0,[11] = 0,[12] = 0,[13] = 0,[14] = 0,[15] = 0;

  v8_int16 = [0] = 0,[1] = 0,[2] = 0,[3] = 0,[4] = 0,[5] = 0,[6] = 0,[7] = 0;

  v4_int32 = [0] = 0,[1] = 0,[2] = 0,[3] = 0;

  v2_int64 = [0] = 0,[1] = 0;

}

$mxcsr         0x1f80 8064

$vfp           0xbfffbd60 -1073758880

See also

Examining Machine-Level Registers