Red Hat Training

A Red Hat training course is available for RHEL 8

7.5. Obtenção manual de pacotes de debuginfo para uma aplicação ou biblioteca

Você pode determinar manualmente quais pacotes debuginfo você precisa instalar, localizando o arquivo executável e depois encontrando o pacote que o instala.

Nota

A Red Hat recomenda que você use a GDB para determinar os pacotes para instalação. Use este procedimento manual somente se a GDB não for capaz de sugerir o pacote a ser instalado.

Pré-requisitos

Procedimento

  1. Encontre o arquivo executável da aplicação ou biblioteca.

    1. Use o comando which para encontrar o arquivo de aplicação.

      $ which less
      /usr/bin/less
    2. Use o comando locate para encontrar o arquivo da biblioteca.

      $ locate libz | grep so
      /usr/lib64/libz.so.1
      /usr/lib64/libz.so.1.2.11

      Se os motivos originais para depuração incluírem mensagens de erro, escolha o resultado onde a biblioteca tem os mesmos números adicionais em seu nome de arquivo que aqueles mencionados nas mensagens de erro. Em caso de dúvida, tente seguir o restante do procedimento com o resultado onde o nome do arquivo da biblioteca não inclui números adicionais.

      Nota

      O comando locate é fornecido pelo pacote mlocate. Para instalá-lo e permitir seu uso:

      # yum install mlocate
      # updatedb
  2. Procure por um nome e uma versão do pacote que forneceu o arquivo:

    $ rpm -qf /usr/lib64/libz.so.1.2.7
    zlib-1.2.11-10.el8.x86_64

    A saída fornece detalhes para o pacote instalado no formato name:epoch-version.release.architecture.

    Importante

    Se esta etapa não produzir nenhum resultado, não é possível determinar qual pacote forneceu o arquivo binário. Há vários casos possíveis:

    • O arquivo é instalado a partir de um pacote que não é conhecido pelas ferramentas de gerenciamento de pacotes em sua configuração current.
    • O arquivo é instalado a partir de um pacote baixado localmente e instalado manualmente. Determinar um pacote adequado debuginfo automaticamente é impossível nesse caso.
    • Suas ferramentas de gerenciamento de pacotes estão mal configuradas.
    • O arquivo não é instalado a partir de nenhum pacote. Em tal caso, não existe o respectivo pacote debuginfo.

    Como os passos seguintes dependem desta, você deve resolver esta situação ou abortar este procedimento. A descrição exata das etapas de solução de problemas está além do escopo deste procedimento.

  3. Instale os pacotes debuginfo usando o utilitário debuginfo-install. No comando, use o nome do pacote e outros detalhes que você determinou durante a etapa anterior:

    # debuginfo-instalar zlib-1.2.11-10.el8.x86_64