install the pwndbg

git clone https://github.com/pwndbg/pwndbg.git
cd pwndbg
./setup.sh

gdb with python

argument

(gdb)run $(python -c 'print "A" * 200')

standard input

(gdb) r <<< $(python -c 'print "A"*1')

breakpoint

disassemble main
b *main+13
b function
info b
delete br 1

memory display

x / [Format] [Address]
x / [Length] [Format] [Address]
x/5x 0x08041680
x/s $r0
x/3i 0x08041680

o(octal), x(hex), d(decimal), u(unsigned decimal), t(binary), f(float), a(address), i(instruction), c(char), s(string) and z(hex, zero padded on the left).

watchpoint

watch $eax     >>>   let me know when eax is changed
watch $8012345
info watchpoints

fork child process

set follow-fork-mode child

display

display xx
undisplay xx

run

run
si       >>>    excute current instruction. step into the function.
ni       >>>    excute current instruction. step over the function.
finish   >>>    excute and exit current function.