GDB не устанавливает одинаковые точки останова в созданных вилках. Тем не менее, он должен делать это в соответствии с документацией (если я правильно понимаю):
Если в исходной программе установлена точка останова на главном, она также будет быть установлен на основной дочерний процесс.
Я также получаю следующую ошибку для каждой установленной точки останова:
Error in re-setting breakpoint 7: Cannot access memory at address 0x606682
Error in re-setting breakpoint 8: Cannot access memory at address 0x606682
Error in re-setting breakpoint 10: Cannot access memory at address 0x606682
Вероятно, стоит упомянуть, что я могу установить точки останова после создания разветвления следующим образом:
catch fork
cont
step
break file.cc:42
cont
Версия GDB GNU gdb (Debian 7.12-6) 7.12.0.20161007-git