2011-09-07 61 views
1

我自己的程序使用SIGTRAP信號。我想用gdb來調試我的程序。 但是,當SIGTRAP在我的程序中引發時,gdb無法進入我的陷阱處理程序。如何使用gdb調試SIGTRAP?

如何單步進入我的陷阱處理程序?

+2

嘗試'處理SIGTRAP通過nostop',雖然我認爲有一個'SIGTRAP'處理程序可能會有問題(GDB也抱怨它)。 – user786653

+0

謝謝!我試過了,但它不起作用。我仍然不能單步進入陷阱處理程序。 – flyingbin

回答

0

我不確定它是否適用於您,但嘗試使用sigaction來關閉您的信號處理程序(在您的信號處理程序中),然後重新提升SIGTRAP。

這應該提高信號到操作系統,這將調用調試器(希望)。 之後再次使用sigaction來註冊您自己的處理程序。