Another Japan in the World

Jun Aruga's blog.

Caution when using gdb on Mac 10.9

Install GDB on Mac 10.9.

$ brew install gdb


Load one c compiled binary file.

$ gdb bin/thread
GNU gdb (GDB) 7.10.1
...

Got an error.

(gdb) run
Starting program: /Users/jun.aruga/git/multi_test/bin/thread
Unable to find Mach task port for process-id 54060: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

You have to run gdb with "sudo" on Mac.
And normally finished.

$ sudo gdb bin/thread

(gdb) run
...
Job 2 started, sleep sec: 9.
Job 1 started, sleep sec: 7.
Job 3 started, sleep sec: 3.
Job 4 started, sleep sec: 8.
Job 3 ended.
Job 1 ended.
Job 4 ended.
Job 2 ended.
[Inferior 1 (process 54144) exited normally]

Let's set "gcc -g -O0" when using gdb.

$ view Makefile
...
# Production
# CFLAGS = -Wall -O2
# Development
CFLAGS = -Wall -g -O0
...

See https://github.com/junaruga/multi_test/blob/master/src/Makefile

That's all.