A.4. strace 的更改
Red Hat Developer Toolset 9.0 带有 strace 5.1。
从以前的 Red Hat Developer Toolset 版本开始添加了或修改了以下功能:
License
- 测试套件现在根据 GNU 通用公共许可证版本 2 或更高版本提供。
- 现在,在 GNU Lesser General Public License 版本 2.1 或更高版本的术语下提供了 strace 的其余部分。
行为的变化
-
如果 strace 因它处理的信号而中断(当前为
SIGHUP,SIGINT,SIGQUIT,SIGPIPE, 或SIGTERM),strace 会用这个信号终止自己。 -
现在,
-D选项意味着-I4: 默认 strace 忽略SIGHUP,SIGINT,SIGQUIT,SIGPIPE,SIGTERM,SIGTTIN,SIGTTOU,SIGTSTP(使用-D选项时)。 - 如果尝试重启进程失败并显示 ESRCH,则不再打印诊断信息。此功能地址 BZ#1662936。
- ASCII 转储不再尝试一次读取整个缓冲区。因此,在只转储部分后,它可能会失败并带有诊断信息。现在,为偏移量选择了前面的零量,以适应打印的所有偏移量。
改进
- 实施在接收信号时打印堆栈跟踪。
-
通过
-X选项配置的命名常打印风格支持会被增强。 -
添加了以下系统调用的解码:
clock_gettime64,clock_settime64,clock_adjtime64,clock_getres_time64,clock_nanosleep_time64,timer_gettime64,timer_settime64,timerfd_gettime64, timerfd_settime64 ,timerfd_settime64,utimensat_time64, pselect6_time64, ppoll_time64, io_pgetevents_time64, recvmmsg_time64, mq_timedsend_time64, mq_timedreceive_time64, semtimedop_time64, rt_sigtimedwait_time64, futex_time64, sched_rr_get_interval_time64, pidfd_send_signal, io_uring_setup, io_uring_enter, 和 io_uring_register . -
解码
bpf系统调用。 -
实施了以下 ioctl 命令解码:
BLKGETZONESZ、BBLKGETNRZONES、KVM_CHECK_EXTENSION、NBDHW 和RND*。 -
实施
ssocket 系统调用中的AF_PACKET协议的解码。 -
解码
SOL_XDP套接字选项名称。 -
解码
getsockoptSO_ERROR和SO_TIMESTAMP*_NEW选项。 -
解码
IFLAswig ,NETCONFA solutions ,和SMC_DIAG PPKnetlink属性会被改进。 -
IBM Z 架构上现在提供了对
pkey_mprotect、pkey_alloc和pkey_free系统调用解码。 - 解码直接 IPC 系统调用现在在 IBM POWER 和 IBM Z 构架上提供。
-
解码
kexec_file_load和rseq系统调用现在包括在 64 位 ARM 架构中。