xscope
Подробнее
- Создатель
- James Peterson (MCC)
- Год
- Тип
- Инструмент отладки
- Исходный код
- gitlab.freedesktop.org
Прокси-перехватчик, расшифровывающий трафик протокола X11 между клиентом и сервером в читаемый вид.
xscope написал в 1988 году Джеймс Петерсон из исследовательского консорциума MCC в Остине, и жил он в contrib-дереве X11. Он слушает на собственном номере дисплея, пересылает всё настоящему серверу и расшифровывает трафик в обе стороны: xscope -i1 -o0 принимает на :1 и шлёт на :0, а исследуемый клиент запускается с DISPLAY=:1. На выходе — протокол X в том виде, как он описан в спецификации: CreateWindow со всеми атрибутами, GetProperty с ответом, события Expose с прямоугольниками и ошибки с номерами последовательности. Именно это нужно, когда обработчик ошибок Xlib лишь сообщает BadMatch о запросе, отправленном давным-давно.
Инструмент из той же семьи, что strace и tcpdump, но для одного протокола, и он остался практичным способом увидеть, что на самом деле делает Xt- или Motif-приложение: сколько обращений стоит запуск и почему окно перерисовано трижды. У него есть потомки — xmon с графической оболочкой и xtrace 2005 года с поддержкой новых расширений, а Wireshark умеет разбирать X11 из pcap, но xscope по-прежнему сопровождается X.Org и понимает почти всё, что умеет сервер.