gpt4 book ai didi

GDB:Ctrl+C 不会像通常那样中断进程,而是终止程序

转载 作者:行者123 更新时间:2023-12-03 08:57:07 24 4
gpt4 key购买 nike

通常,当您通过 GDB 运行程序时,您可以按 Ctrl+C 来中断它,例如如果它陷入无限循环并且您想获得回溯。

我正在调试一个程序(xmms2d),但仅在此程序中,当我按 Ctrl+C 时,它被视为 GDB 未运行 - 程序完全关闭,然后 GDB 告诉我程序正常退出。

如何恢复通常的 GDB 行为,其中 Ctrl+C 中断程序?或者是否有另一种方法可以在 GDB 中产生与 Ctrl+C 通常相同的 react ?

最佳答案

我敢打赌 xmms2d 正在使用 sigwait() 来处理信号,这破坏了 gdb 捕获 CTRL-C 的能力。见 https://bugzilla.kernel.org/show_bug.cgi?id=9039

我通过阅读 Continue to debug after failed assertion on Linux? 获得了解决方法的想法-- 当我准备中断 gdb 时,我从另一个终端窗口运行“kill -TRAP ”。

关于GDB:Ctrl+C 不会像通常那样中断进程,而是终止程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857300/

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