What Is SIG32 During a GDB Debug Session?

在Linux上使用GDB调试时,可能会遇到程序收到SIG32,即实时事件32的提示。这并非错误,而是glibc用来指示由pthread库创建的线程被取消的信号。要禁用GDB内的这些通知,可以输入`handle SIG32 nostop`。SIG32是SIGRTMIN定义的信号之一,用于处理系统中的线程取消操作。

What Is SIG32 During a GDB Debug Session?

https://gnobal.net/591/what-is-sig32-during-a-gdb-debug-session

Sometimes, when debugging with GDB on Linux, the debugger may stop with the following notification:

Program received signal SIG32, Real-time event 32.

This may be a little confusing and mislead you to think something is wrong with the debugged program, as I have thought when I first saw this message.

However, this is not an error. glibc uses SIG32 to signal the cancellation of threads created using the pthread library. That’s why, if and when you need to do some operation with all signals in the system, you must start from the minimum defined by SIGRTMIN and not the real (kernel) minimum, __SIGRTMINSIGRTMIN is defined in /usr/include/signal.h.

To disable these notifications inside GDB, so that you won’t be bothered with thread cancellation again, type the following inside GDB:

handle SIG32 nostop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值