首页 > 解决方案 > fork 后重新设置断点(无法访问内存)时出现 GDB 错误

问题描述

GDB 不会在创建的分叉中设置相同的断点。但是,它应该根据文档来做(如果我理解正确的话):

如果您在原始程序的 main 上设置了断点,则该断点也将设置在子进程的 main 上。

对于每个设置的断点,我也收到以下错误:

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

可能值得一提的是,我可以在创建 fork 后设置断点,如下所示:

catch fork
cont
step
break file.cc:42
cont

GDB 版本是GNU gdb (Debian 7.12-6) 7.12.0.20161007-git

标签: c++debugginggdbforkbreakpoints

解决方案


推荐阅读