Pesquisar aqui

sexta-feira, 15 de janeiro de 2021

Nova extensão do Chrome para depurar código Wasm compilado analisando arquivos de origem C ++

O Google recentemente apresentou o progresso feito pelas equipes do Chrome DevTools para melhorar a experiência do desenvolvedor na depuração de arquivos WebAssembly. Uma nova extensão (em beta) permite que os desenvolvedores depurem aplicativos C e C ++ compilados para WebAssembly percorrendo o código-fonte original. A nova extensão complementa e aprimora a capacidade existente de percorrer o código desmontado do WebAssembly diretamente no navegador.

Ingvar Stepanyan , defensor do WebAssembly no Google, apresentou a experiência de depuração básica do código C compilado para WebAssembly que é oferecido pela ferramenta de desenvolvedor Google Chrome. O código C é compilado com otimizações habilitadas e sem opções de depuração. A ferramenta de desenvolvedor do Chrome exibe o código desmontado do WebAssembly e se esforça para melhorar a legibilidade do código usando as informações disponíveis do código compilado para gerar nomes de função relevantes. A ferramenta também possui um inspetor de memória linear que permite aos desenvolvedores acessar a memória WebAssembly em visualizações hexadecimais e ASCII e navegar para endereços específicos.

As habilidades das ferramentas de desenvolvedor mencionadas anteriormente podem, entretanto, ser insuficientes em scripts grandes (que geralmente incluem bibliotecas de terceiros), visto que a quantidade de suposições para reconciliar o código desmontado do WebAssembly com o código-fonte original aumenta drasticamente.

Emscripten agora fornece um novo -gsinalizador que inclui informações de depuração DWARF . As informações DWARF que contêm informações detalhadas sobre o código-fonte podem ser grandes. Os desenvolvedores podem exigir que essas informações sejam geradas em um arquivo separado com a -gseparate-dwarfopção. Equipado com as informações de depuração, a ferramenta de desenvolvedor do Chrome permite que os desenvolvedores depurem aplicativos percorrendo o código-fonte original que foi compilado para WebAssembly.

Extensão do Chrome que depura o código compilado do WebAssembly em ação
(Fonte: Chrome Dev Summit 2020 talk )

A funcionalidade de depuração aprimorada está disponível por meio de uma extensão do Chrome lançada em beta . As instruções para usar a extensão são detalhadas em uma postagem do blog que acompanha . Mais informações sobre a configuração do sinalizador de depuração Emcscripten estão disponíveis online .

Sem comentários:

Enviar um comentário

Comente de forma construtiva...

Nota: só um membro deste blogue pode publicar um comentário.