debugging - 如何跟随分叉,但在 gdb 中的 exec 上分离
问题描述
我正在尝试解决一个毛茸茸的错误,该错误涉及内存中特定整数的损坏。我可以设置一个观察点,并希望捕获任何改变这个特定值的回溯。
使事情复杂化的是,该错误仅在生产中发生,并且每天仅发生几次。该错误发生在名为 gunicorn 的 Python 网络服务器中,它是一个 pre-fork 服务器。损坏发生在其中一个工人子进程中,而不是主进程中。
麻烦的是,默认情况下 gdb 不会调试由fork()
. 如果配置为使用 执行此操作set detach-on-fork off
,则它可能会调试工作进程,但如果其中一个工作人员执行and ,它也会调试其他子进程。fork()
exec()
那么有没有办法将gdb配置为:
- 调试由
fork()
和 - 何时从进程中分离
exec()
?
或者也许还有其他方法可以解决调试前分叉服务器的工作子进程的问题?
解决方案
推荐阅读
- python - 使用 python 抓取网页:urlopen 返回 HTTP 错误 403:禁止
- python - 是否可以在 python 中同时录制计算机声音和麦克风?
- javascript - 正则表达式匹配具有偶数个 0 的二进制数
- javascript - 如何在 ng-repeat 中删除/添加 html 标签
- makefile - Makefile - 检查空环境变量的函数
- mysql - 如何格式化看起来像这样的日期(20200326)MYSQL
- r - R:可变长度在 Wilcoxon 测试中不同
- python - fastavro - 将 json 文件转换为 avro 文件
- matlab - MATLAB:在 cellfun 中使用 get 获取对象元胞数组
- html - 使用 vba 从数据提示中的 div 中抓取元素