Estou lendo sobre o apport e seu uso há uma semana. Mas não conseguia entender as coisas abaixo.
Cenário:
Eu desenvolvi um aplicativo e o empacotei. E seu nome é MyApp.deb
. O nome do pacote binário é MyApp
. O aplicativo é instalado no caminho /opt/myapplication/bin/MyApp
.
Requerimento:
- Quando meu aplicativo falha, desejo poder coletar o dump principal.
- Em cada falha subsequente, é necessário criar uma nova falha, mas não substituindo a existente. Algo como renomear automaticamente com o carimbo de hora atual, etc, me ajudaria.
- Quando instalo meu aplicativo em uma máquina cliente, meu instalador não deve modificar os parâmetros em todo o sistema. Por exemplo, por exemplo, não devo alterar o padrão de geração de arquivos principais, porque o usuário / cliente pode odiar meu aplicativo, pois eu alteraria os parâmetros do sistema sem o consentimento dele.
- Eu estou bem com o caminho da geração de arquivos principais. Diretório atual ou
/var/crash
Coisas que eu tenho explorado até agora:
O Apport é um bom utilitário que permite gerações de arquivos principais. Usando /proc/sys/kernel/core_pattern
eu posso formatar arquivos principais. Isso fornece flexibilidade para redirecionar os arquivos principais para um diretório predefinido, nomear arquivos principais com pid, padrão de caminho de arquivo anexado ou pré-finalizado a ele, etc. Para pacotes que não são do Ubuntu, preciso criar ganchos para gerar dumps principais (relatórios) . Apport após coletar o relatório, ele será carregado.
Coisas que eu não entendo:
- Apport é o que eu devo estar olhando ?? Quero dizer, é suficiente o meu propósito? Ou devo olhar para outra coisa?
- Em que tipo de pacote meu aplicativo se enquadra? Eu chamo de não-ubuntu? 3ª parte? O que é isso? Vejo terminologias diferentes nos documentos?
- Como mencionei,
MyApp
é executado a partir de/opt/myapplication/bin/MyApp
, então de onde os arquivos principais serão gerados? Dir atual ou/var/crash
? O Apport detecta falhas ocorridas/opt
? Ele interpreta isso? - Pergunta importante: Se eu desenvolvi o aplicativo e se o Apport carrega o relatório nos repositórios do Ubuntu, isso não faz sentido. Então, como posso dizer ao Apport para me enviar o relatório.
- Eu recebo este erro:
executable does not belong to a package, ignoring
. Então, o que estou fazendo de errado? - Para que o apport reconheça meu pacote, preciso transformá-lo em um pacote de origem? Isso é obrigatório? Eu só quero criar um pacote binário?
- Eu também vi em algum lugar nos documentos que o Apport reconhece:
- Pacotes Ubuntu ou
- Aplicativos da barra de ativação, mas meu aplicativo não é um deles. Então, como o Apport me ajuda no cenário atual?
Respostas:
fonte