我在stackoverflow上搜索了几个关于调试SIGTERM的问题,但没有得到我需要的信息。也许,我在这个问题上还是个新手。
我的程序在没有核心转储的情况下以SIGTERM信号终止,我不知道如何跟踪它。我的问题是,在GDB中调试这个问题的一般方法是什么?
谢谢。
发布于 2015-04-14 04:33:49
虽然SIGTERM在少数情况下可以由内核发送,但它几乎总是由另一个用户进程发送。如果您在gdb下运行您的程序,那么当它接收到SIGTERM时,它将被暂停。然后,您可以通过查看$_siginfo结构来获取有关信号的一些信息:
(gdb) print $_siginfo._sifields._kill
$2 = {si_pid = 3926, si_uid = 1001}这是在Linux上。这意味着pid 3926发送了信号,发送信号的userid是1001。
https://stackoverflow.com/questions/29584892
复制相似问题