# GDB
If you are a Mac user, you can use LLDB instead, the usage is similar.
## GDB
compile with the '-g' parameter
```
gcc -g main.c -o main
```
enter gdb
(for gdb)
```
gdb main
```
(for lldb)
```
lldb main
```
show source code
```
l
```
set breakpoints at line 10
```
b 10
```
show all breakpoints
(for gdb)
```
info b
```
(for lldb)
```
breakpoint list
```
set testcase input file
(for gdb)
```
run < testcase.txt
```
(for lldb)
```
settings set target.input-path testcase.txt
```
execute main
```
r
```
show the value of variable
```
p [variable_name]
```
continue execution to the next breakpoints
```
c
```
execute the next line
```
n
```
execute the next line, if there is a function call, step into that function
```
s
```
terminate the current debugging process
```
kill
```
leave gdb
```
q
```