Debugging strace print asound ioctl

Debugging strace print asound ioctl,debugging,alsa,strace,Debugging,Alsa,Strace,我的策略倾向于混淆一些ioctl值(我确信SNDRVioctl没有被很好地识别…) 如何识别正确的ioctl值 举个小例子: $strace aplay-l ... fcntl64(4, F_SETFD, FD_CLOEXEC) = 0 ioctl(4, UI_DEV_CREATE, 0xbfaa6e74) = 0 close(4) = 0 ... 该UI\u DEV\u CREATE是一个SNDRV\u C

我的策略倾向于混淆一些
ioctl
值(我确信
SNDRV
ioctl没有被很好地识别…)

如何识别正确的
ioctl

举个小例子:

$strace aplay-l

...
fcntl64(4, F_SETFD, FD_CLOEXEC)         = 0
ioctl(4, UI_DEV_CREATE, 0xbfaa6e74)     = 0
close(4)                                = 0
...
UI\u DEV\u CREATE
是一个
SNDRV\u CTL\u IOCTL\u卡信息

(另一个例子)

USBDEVFS\u控件
是一个
SNDRV\u CTL\u IOCTL\u版本
我真的不知道
0x80045530
的宏扩展是什么

谢谢:)

如中所示,多个子系统使用值0x55(
'U'
)。
strace
不知道设备文件属于几个子系统中的哪个子系统,并且可能无法识别一些较新的ioctl代码

最新的
strace
版本了解
SNDRV\u CTL\u IOCTL\u PCM\u NEXT\u设备

ioctl(4, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbfaa6f94) = 0
ioctl(4, UI_DEV_CREATE, 0xbfaa71f0)     = 0
ioctl(4, 0x80045530, 0xbfaa73ac)