Caution when using 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.