Como posso encontrar quais pacotes dbgsym preciso para obter rastreamentos de pilha simbólicos?
772
Eu tenho um arquivo principal em um sistema Debian. Desejo obter uma lista completa de todos os pacotes de símbolos de depuração necessários para gerar um rastreamento de pilha simbólico desse dump principal.
readelf -Wafornecerá informações detalhadas sobre um dump principal, incluindo os arquivos mapeados (procure por NT_FILE). Você deve instalar os símbolos de depuração para qualquer arquivo que seja um binário ou uma biblioteca. Para encontrar os pacotes relevantes, instale apt-filese ainda não o fez, execute sudo apt updatepara atualizar seus índices e execute
apt-file search /path/to/file
Por exemplo, se /usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1aparecer na lista de arquivos mapeados em um determinado core dump,
find-dbgsym-packages lista todos os pacotes *-dbgsym necessários para depurar corretamente os processos fornecidos por uma lista de executáveis, bibliotecas, despejos de núcleo ou números PID.
readelf -Wa
fornecerá informações detalhadas sobre um dump principal, incluindo os arquivos mapeados (procure porNT_FILE
). Você deve instalar os símbolos de depuração para qualquer arquivo que seja um binário ou uma biblioteca. Para encontrar os pacotes relevantes, instaleapt-file
se ainda não o fez, executesudo apt update
para atualizar seus índices e executePor exemplo, se
/usr/lib/x86_64-linux-gnu/libpcre2-8.so.0.7.1
aparecer na lista de arquivos mapeados em um determinado core dump,Por extensão, isso informa que você precisa instalar
libpcre2-8-0-dbgsym
para ter os símbolos de depuração correspondentes.(Sim, isso é um pouco mais complicado do que deveria ser. Outras distribuições tornam isso mais simples...)
A partir do Debian
buster
, você pode usarfind-dbgsym-packages
a partir dodebian-goodies
pacote.