gpt4 book ai didi

GDB:劣质进程中的断点

转载 作者:行者123 更新时间:2023-12-04 00:10:32 28 4
gpt4 key购买 nike

我有一个需要调试的网络软件。它在多个地方 fork ,我需要调试处理一个特定请求的一个特定函数。

有没有办法设置一个全局断点,即使它处于劣质进程中也会被捕获?

我不能使用 follow-fork-mode child 因为这将遵循第一个请求,而不是我需要调试的请求。

最佳答案

一种方法是让 gdb 保持附加到所有进程。然后您将设置断点并像往常一样运行程序;断点将在碰巧到达该位置的任何子进程中触发。您可以使用断点条件来尝试减少命中次数。

为了将 gdb 置于多劣模式,我使用了这个:

set detach-on-fork off
set non-stop on
set pagination off

根据您的 gdb 版本,您可能还需要set target-async on

在这种模式下工作可能有点特殊。例如,当一个线程停止时,另一个线程继续运行。此外,还会报告断点停止,但并不总是很明显;而且我认为 gdb 不会立即切换到停止线程(这可能在 gdb git 中已更改,我忘记了)。

关于GDB:劣质进程中的断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36405100/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com