在dmesg

时间:2018-06-06 17:54:06

标签: c linux

我有一个segfaulting的程序。

当我去调查并运行dmesg时,我可以看到这样的行:

[955.915050]  traps: foo_bar[123] general protection ip:7f5fcc2d4306 sp:7ffd9e5868b8 ...

现在该程序已经修复,我正在尝试在不同的系统中编写一些分析脚本来查找类似的消息,并希望在dmesg日志中引入一行来获取查找内容的基线,看看是否有例如,sigbus(10)和sigill(4)之间的区别

我尝试在命令行上通过kill -11执行此操作。 dmesg中没有条目

我尝试通过代码中的signal(getpid(), 11)来完成。 dmesg中没有条目

我在gdb中附加后试图通过signal 11来完成。 dmesg中没有条目

我尝试通过编写错误的代码来实现它,它适用于SEGV,但我无法弄清楚如何触发SIGBUS(例如)

我猜测处理信号的路径不止一个,具体取决于它是如何发生的,而我上面的尝试并没有以正确的方式进行。

如何触发/向我的程序发送信号,这些信号将在dmesg中获得一行?是否有一些内核或日志配置我可以旋转以获得这些线?

更新

__builtin_trap: when to use it?”显示了如何获得SIGILL,但是alas没有与信号无关的解决方案)

0 个答案:

没有答案