Solaris 动态跟踪指南

断点交互

FBT 通过动态修改内核文本进行工作。由于内核断点也通过修改内核文本进行工作,所以如果在装入 DTrace 之前将内核断点放在入口或返回位置,FBT 将拒绝提供用于函数的探测器,即使随后删除了内核断点也是如此。如果在装入 DTrace 之后放置内核断点,则内核断点和 DTrace 探测器将对应于文本中相同的位置。在此情况下,断点将首先触发,然后在调试器恢复内核时,探测器将触发。建议不要同时使用内核断点和 DTrace。如果必须使用断点,请改为使用 DTrace breakpoint() 操作。