xscope
Mais informações
- Criado por
- James Peterson (MCC)
- Ano
- Tipo
- Ferramenta de depuração
- Código-fonte
- gitlab.freedesktop.org
Um sniffer de protocolo para o X11: fica como proxy entre cliente e servidor e imprime em texto legível cada requisição, resposta, evento e erro.
O xscope foi escrito por James Peterson no consórcio de pesquisa MCC, em Austin, em 1988, e morava na árvore contrib do X11. Ele escuta num número de display próprio, repassa ao servidor de verdade e decodifica o tráfego nos dois sentidos: xscope -i1 -o0 aceita em :1 e envia para :0, e o cliente investigado é iniciado com DISPLAY=:1. A saída é o protocolo X como na especificação, CreateWindow com todos os atributos, GetProperty com a resposta, eventos Expose com retângulos e erros com números de sequência, que é exatamente o que se precisa quando o tratador de erros da Xlib se limita a dizer BadMatch sobre uma requisição enviada há muito tempo.
A ferramenta pertence à mesma família do strace e do tcpdump, mas para um único protocolo, e continuou sendo o jeito prático de ver o que uma aplicação Xt ou Motif estava realmente fazendo: quantas idas e vindas custava a inicialização, ou por que uma janela era redesenhada três vezes. Gerou descendentes, o xmon com interface gráfica e o xtrace, de 2005, com suporte a extensões mais novas, e o Wireshark consegue decodificar X11 a partir de um arquivo pcap, mas o xscope ainda é mantido pelo X.Org e dá conta da maior parte do que um servidor entende.