`handle SIG33 pass nostop noprint` 在 gdb 中使用时会做什么

`handle SIG33 pass nostop noprint` 在 gdb 中使用时会做什么

在 gdb 中,通常给出的调试指令是 -

gdb $package

set logging on

set pagination 0

handle SIG33 pass nostop noprint

run

当然,除了收集回溯等。上述中,什么是

handle SIG33 pass nostop noprint

哪些地方应该使用,哪些地方不应该使用?

答案1

handle SIG33

告诉我们gdb如何处理信号 33;在您给出的版本中,pass意味着传递信号,nostop告诉调试器在发出信号时不要停止,并且noprint不要打印任何内容。

这种指令在调试内部使用信号的运行时时非常有用。 Signal 33 由 Bionic 在 Android 上使用(用于回溯);如果你不忽略它,你最终会一直停下来。您会看到 Flash 的类似指令(至少具有信号 32 和 33,IIRC)。

相关内容