0
我想使用rb_p()来帮助调试ruby C扩展,但每次我使用它,我都会在gdb中获得一个SIGTRAP!为什么我在调试Ruby C扩展时在gdb中获取SIGTRAP?
这里是一个例子:
(GDB)p user_defaults
$ 3 = 137559900
(GDB)调用rb_p(user_defaults)
{:补=>真,:纹理= >#}
(gdb)n
编程接收信号SIGTRAP,跟踪/断点陷阱。 utils.c处的is_a_hash(try_hash = 137560420):65 (gdb)
为什么会发生这种情况?我怎么能阻止它发生?
这个异常究竟意味着什么?它的目的是什么?你猜测为什么代码正在执行该指令吗? – horseyguy 2009-08-13 02:11:48