摆脱悬挂式投票与gdb

问题描述 投票:0回答:1

有一个进程(我有源码)卡在无效状态,因为它的轮询调用要等一个无效的fd变成可写。

因为这永远不会发生,所以轮询永远卡住了。

有没有可能以某种方式强制退出这个轮询操作?

附上Gdb,我的愿望是看看如何在轮询返回后继续应用。

#0  0xb673e120 in poll () at ../sysdeps/unix/syscall-template.S:84

这是我可以在不重启应用程序的情况下实现的吗?

gdb polling
1个回答
2
投票

是否有可能以某种方式强制退出这个轮询操作?

是的,你可以用下面的方法强制当前的堆栈帧提前返回。return 命令,你也可以选择任何合适的值作为函数的返回值。你也可以选择任何合适的值作为函数的返回值。参见这里的文档。https:/sourceware.orggdbcurrentonlinedocsgdbReturning.html#Returning.

© www.soinside.com 2019 - 2024. All rights reserved.