What is SIG44 in gdb?

依然范特西╮ 提交于 2020-01-02 07:14:09

问题


Sometimes when I am debugging I get message like this.

Program received signal SIG44, Real-time event 44.

What does it means?

Thank you.

EDIT :

Platform is linux


回答1:


A signal is a message sent by the kernel to a process in order to notify the process that event of some kind has occurred in the system.

Usual signals on linux are for example SIGINT (value 2, interrupt from keyboard) or SIGKILL ( value 9, kill a program).

Signals are received either when the kernel detects a system event (like division by zero is SIGFPE, value 8) or when a process invokes the kill() function to explicitly tell the kernel to send a signal to a process (or to the process itself that called the kill() ).

A signal can often be caught by the process in order to do something.

So to answer to your question, the code is most likely calling the kill() function and sending it a signal with value 44 when something happens. Since you are getting that message, it means that the process has received the signal and is going to exit or do what is written in the code in case that signal comes.

Unlike standard signals, real-time signals have no predefined meanings: the entire set of real-time signals can be used for application-defined purposes. (Note, however, that the LinuxThreads implementation uses the first three real-time signals.)

Source for the quote here



来源:https://stackoverflow.com/questions/4215953/what-is-sig44-in-gdb

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!