C 什么';Linux内核模块中的raise(SIGTRAP)等效于什么?
我正在开发一个可加载的Linux内核模块。如果代码遇到未知错误,我想将执行中断到远程GDB调试器中 例如,我的模块具有如下功能:C 什么';Linux内核模块中的raise(SIGTRAP)等效于什么?,c,linux,debugging,kernel,signals,C,Linux,Debugging,Kernel,Signals,我正在开发一个可加载的Linux内核模块。如果代码遇到未知错误,我想将执行中断到远程GDB调试器中 例如,我的模块具有如下功能: void hello() { // ... if (something_occured) { // raise(SIGTRAP) or __asm__ __volatile__("int 3"); ??? // What should be put here ??? } } 可以在内核模式下使用rai
void hello()
{
// ...
if (something_occured)
{
// raise(SIGTRAP) or __asm__ __volatile__("int 3"); ???
// What should be put here ???
}
}
可以在内核模式下使用
raise(SIGTRAP)
。在内核模式下是否存在与raise(SIGTRAP)
等价的功能?如果没有运行远程调试器,您希望代码做什么?这样做,并在其上设置断点
它可能是BUG、BUG\u ON、WARN\u ON或您自己的自定义函数。在Windows内核下,有一个函数DbgBreakPoint();我只想要它的等价物。@xmlmx:如果没有等价物,你会怎么做?在这种情况下,我将使用GDB的命令:break(pending)和continue。