![toybox recebendo sua própria versão do strace toybox recebendo sua própria versão do strace](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6HXGIkCoYjC-eTJODsT_N8_DNOzYC3K8PjsRL9HDHgF4JSSZsxIP9hPIQReQroz8WCkw2SOhq8y28zt1inUaSZwboMCeFIVjp6gd0_66F7C5grHpPuTJN-AxUagd_NMnvIHwWz8uproA/w640-h360-rw/strace+on+toybox.jpg) |
toybox recebendo sua própria versão do strace |
Recentemente foi lançada a versão
0.8.6 do terminal de comandos toybox. Somente dando uma recapitulada, o toybox é um terminal de comandos feito do zero e que passou a ser utilizado no
Android a partir da versão 7. Todos os seus comandos foram e são desenvolvidos do zero; mesmo sendo comandos que você já tenha familiaridade, trata-se de suas próprias versões dos mesmos comandos sendo livre de códigos de terceiros. E como todos os seus comandos, o toybox receberá sua própria versão do comando strace.
![Compilando o strace do toybox. Compilando o strace do toybox.](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5T5iCkNMms_H2GzfZyBo1U5oI7u_-yEK1bs-5H-OhtWXKq9O6TiFBBj3tSPH0PNMmPh3GPSXt-YS-E5T1M83yQS66a_27Ob-9xnSwB29fVTWuM-m69tae8khf0r3kPmV5cp5xNUR6Tjk/w640-h541-rw/Captura+de+tela+de+2021-12-09+00-52-25+%2528c%25C3%25B3pia%2529.png) |
Compilando o strace do toybox. |
Essa primeira versão recebeu incialmente suporte apenas a um pequeno conjunto de
system calls e opções, mas já é possível realizar certos trabalhos normalmente. Uma parte fundamental que informam é que não há com o que se preocupar com certas funções do strace devido torná-lo muito complexo e que por esse motivo o Android nunca teve uma versão do strace (
além de haver um período de transição gradativa dos micro-controladores)
![strace do toybox e suas opções. strace do toybox e suas opções.](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEianJUAkZxcxJDDZpa2S6v4NF7Y6wQ1FZsVBqEcSuVmYpFwKM24nPhKQV4bBbff4S4suAaAXw1jsdj1LjbLmzW5Eb7kqYb958mJj-k7iHibFXhgdSJmGYkCkhbrr3TNRjF71S8L5YXBwAg/w640-h158-rw/strace+do+toybox.png) |
Opções strace do toybox. |
Uma informação que eu obtive é que Rob Landley quer uma versão de strace sem decodificação (apenas números brutos), o que esperam que não seja algo complicado. Tem também o fato de a
glibc não utilizar as mesmas estruturas do kernel podem apresentar certos problemas, o que os leva a adicionar mais linhas de código para cada
arquitetura que querem apresentar suporte
(vale lembrar que a dietlibc utiliza a mesma estrutura do kernel Linux).
![Rastreando o comando ls com o strace do toybox. Rastreando o comando ls com o strace do toybox.](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_l3gyvze7UreOW9hZWXjKR0scpowHdlEKBN3FZKMpBhXJMYwM6FHOE3O8zjSpdaoomPGVyDjp6dSJUXz2M1kGJY9AuryI31-ZztIv8WIZ3MA87MbMgmft7vn-xmcyU3pyeRPyAe0Y_lg/w640-h304-rw/strace+v+ls.png) |
Rastreando o comando ls com o strace do toybox. |
Ainda há um longo caminho a ser percorrido; o strace do toybox está recebendo bugfix e talvez não terá a versão para
MacOSX. Vamos aguardar para ver a evolução de mais um comando surgindo no toybox.
Nenhum comentário:
Postar um comentário
Viu algum erro e quer compartilhar seu conhecimento? então comente aí.
Observação: somente um membro deste blog pode postar um comentário.