GDB-14.1

Introdução ao GDB

GDB, o depurador do Projeto "GNU", permite que você veja o que está acontecendo dentro de outro aplicativo enquanto ele é executado - ou o que outro aplicativo estava fazendo no momento em que travou. Observe que GDB é mais eficaz ao rastrear aplicativos e bibliotecas que foram construídos(as) com símbolos de depuração e não despojados(as).

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.1.

Informação do Pacote

  • Transferência (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-14.1.tar.xz

  • Transferência (FTP):

  • Soma de verificação MD5 da transferência: 4a084d03915b271f67e9b8ea2ab24972

  • Tamanho da transferência: 23 MB

  • Espaço em disco estimado exigido: 966 MB (adicionar 805 MB para documentos; adicionar 710 MB para testes)

  • Tempo de construção estimado: 2,1 UPC (adicionar 0,4 UPC para documentos; adicionar 18 UPC para testes; todos usando paralelismo=4)

Dependências do GDB

Dependência Recomendada de Tempo de Execução

Opcionais

Doxygen-1.10.0, GCC-13.2.0 (ada, gfortran e go são usados para testes), Guile-3.0.9, rustc-1.76.0 (usado para alguns testes), Valgrind-3.22.0 e SystemTap (tempo de execução, usado para testes)

Instalação do GDB

Instale o GDB executando os seguintes comandos:

mkdir build &&
cd   build &&

../configure --prefix=/usr          \
             --with-system-readline \
             --with-python=/usr/bin/python3 &&
make

Opcionalmente, para construir a documentação da "API" usando Doxygen-1.10.0, execute:

make -C gdb/doc doxy

Para testar os resultados, emita:

pushd gdb/testsuite &&
make  site.exp     &&
echo  "set gdb_test_timeout 120" >> site.exp &&
runtest
popd

Veja-se gdb/testsuite/README e TestingGDB. Existem muitos problemas com a suíte de teste:

  • Diretórios limpos são necessários se reexecutar-se os testes. Por esse motivo, produza uma cópia do diretório do código-fonte compilado antes dos testes, caso precise executar os testes novamente.

  • Os resultados dependem dos compiladores instalados.

  • Uma execução de teste da suíte de teste teve cinquenta e uma (51) falhas inesperadas em mais de cento e seis mil (106.000) testes.

  • Em alguns sistemas, a suíte de teste "gdb.tui" falhará se executada em SSH.

  • Em alguns sistemas baseados em "AMD", mais que duzentos (200) testes adicionais possivelmente falhem devido a uma diferença na implementação de camadas nessas "CPUs".

Agora, como o(a) usuário(a) root:

make -C gdb install &&
make -C gdbserver install

Se você construiu a documentação da "API", [então] ela agora está em "gdb/doc/doxy". Você consegue instalá-la (como o(a) usuário(a) root):

install -d /usr/share/doc/gdb-14.1 &&
rm -rf gdb/doc/doxy/xml &&
cp -Rv gdb/doc/doxy /usr/share/doc/gdb-14.1

Explicações do Comando

--with-system-readline: Essa chave força o GDB a usar a cópia do Readline instalada no LFS.

--with-python=/usr/bin/python3: Essa chave força GDB a usar Python 3.

Conteúdo

Aplicativos Instalados: gcore, gdb, gdbserver e gdb-add-index
Biblioteca Instalada: libinproctrace.so
Diretórios Instalados: /usr/{include,share}/gdb e /usr/share/doc/gdb-14.1

Descrições Curtas

gcore

gera um despejo principal de um aplicativo em execução

gdb

é o Depurador GNU

gdbserver

é um servidor remoto para o depurador "GNU" (permite que aplicativos sejam depurados a partir de uma máquina diferente)

gdb-add-index

Permite adicionar arquivos de índice a binários ELF. Isso acelera o início do gdb em aplicativos grandes.

libinproctrace.so

contém funções para o agente de rastreamento em processo. O agente permite instalar pontos de rastreamento rápidos, listar marcadores de pontos de rastreamento estáticos, sondar marcadores de pontos de rastreamento estáticos e iniciar o monitoramento de rastreamento.