In computing, endianness is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most significant byte of a word at the smallest memory address and the least significant byte at the largest. A little-endian system, in contrast, stores the least-significant byte at the smallest address.
- big-endian: most significant byte in smallest memory address
- little-endian: least significant byte at the smallest address
Question: How to display memory during a debug session #1503
Examine/display memory and register in gdb
const char str[] = "hello world!"; const int k = -15;
-exec x/s str
0x7ff608319998 <str>: "hello world!"
-exec x/13xb str
0x7ff608319998 <str>: 0x68 0x65 0x6c 0x6c 0x6f 0x20 0x77 0x6f
0x7ff6083199a0 <str+8>: 0x72 0x6c 0x64 0x21 0x00
-exec x &k
0x7ff6083199a8 <k>: 0xf1
-exec x/d &k
0x7ff6083199a8 <k>: -15
-exec x/4b &k
0x7ff6083199a8 <k>: -15 -1 -1 -1
-exec x/4xb &k
0x7ff6083199a8 <k>: 0xf1 0xff 0xff 0xff
-exec p sine
$2 = {0x7ff608319000 <sine_300> "", 0x7ff608319260 <sine_400> "", 0x7ff608319420 <sine_500> "", 0x7ff608319580 <sine_600> "", 0x7ff6083196a0 <sine_700> "", 0x7ff6083197a0 <sine_800> "", 0x7ff608319880 <sine_900> ""}
-exec x/7xg &sine
0x7ff608318020 <sine>: 0x00007ff608319000 0x00007ff608319260
0x7ff608318030 <sine+16>: 0x00007ff608319420 0x00007ff608319580
0x7ff608318040 <sine+32>: 0x00007ff6083196a0 0x00007ff6083197a0
0x7ff608318050 <sine+48>: 0x00007ff608319880
-exec x/8xh sine[0]
0x7ff608319000 <sine_300>: 0x0000 0x0000 0x0579 0x0578 0x0aeb 0x0aee 0x1062 0x105d
-exec x/8xh sine[1]
0x7ff608319260 <sine_400>: 0x0000 0x0000 0x074b 0x074a 0x0e8d 0x0e90 0x15ca 0x15c6
-exec x/8xh &m_wave
0x7ff7c3f2d060 <m_wave>: 0x0000 0x0000 0x02bc 0x0578 0x0aeb 0x0aee 0x1062 0x105d
-exec x/8xh wave_16bit
0x7ff7c3f2d060 <m_wave>: 0x0000 0x0000 0x02bc 0x0578 0x0aeb 0x0aee 0x1062 0x105d
-exec tui enable Cannot enable the TUI when the interpreter is 'mi' -exec show endian The target endianness is set automatically (currently little endian).
