Je lis sur alloc et son utilisation depuis une semaine. Mais ne pouvait pas comprendre les choses ci-dessous.
Scénario:
J'ai développé une application et l'ai packagée. Et son nom est MyApp.deb
. Le nom du package binaire est MyApp
.L'application est installée dans le chemin /opt/myapplication/bin/MyApp
.
Exigence:
- Lorsque mon application se bloque, je souhaite pouvoir collecter le vidage de mémoire.
- Lors de chaque crash suivant, il doit créer un nouveau crash, mais pas écraser celui existant. Quelque chose comme le renommage automatique avec l'horodatage actuel, etc. m'aiderait.
- Lorsque j'installe mon application sur une machine client, mon installateur ne doit pas modifier ses paramètres à l'échelle du système. Disons, par exemple, que je ne dois pas modifier le modèle de génération de son fichier principal, car l'utilisateur / le client pourrait détester mon application, car je modifierais ses paramètres système sans son consentement.
- Je suis d'accord avec le chemin de génération du fichier principal. Soit le répertoire courant ou
/var/crash
Choses que j'ai explorées jusqu'à présent:
Apport est un bel utilitaire qui permet les générations de fichiers de base. L'utilisation de /proc/sys/kernel/core_pattern
Je peux formater les fichiers de base. Cela offre la flexibilité de rediriger les fichiers core vers un répertoire prédéfini, de nommer les fichiers core avec pid, le modèle de chemin de fichier ajouté ou pré-terminé, etc. Pour les packages non Ubuntu, je dois écrire des hooks pour générer des vidages de mémoire (rapports) . Apportez après avoir collecté le rapport, il sera téléchargé.
Des choses que je ne comprends pas:
- Apport est-il celui que je dois regarder ?? Je veux dire, cela suffit-il à mon but? Ou devrais-je regarder autre chose?
- À quel type de package ma demande appartient-elle? Dois-je l'appeler non-ubuntu? 3e partie? qu'Est-ce que c'est? Je vois des terminologies différentes dans les documents?
- Comme je l'ai mentionné,
MyApp
s'exécute à partir de/opt/myapplication/bin/MyApp
, alors où les fichiers de base seront-ils générés? Dir actuel ou/var/crash
? Apport détecte-t-il les plantages déclenchés/opt
? L'interprète-t-il? - Question importante: si j'ai développé l'application et si Apport télécharge le rapport dans les référentiels Ubuntu, cela n'a aucun sens. Alors, comment puis-je dire à Apport de m'envoyer le rapport.
- Je reçois cette erreur:
executable does not belong to a package, ignoring
. Alors qu'est-ce que je fais mal? - Pour que répart reconnaisse mon package, dois-je en faire un package source? Est-ce obligatoire? Je veux juste créer un paquet binaire?
- J'ai également vu quelque part dans les documents qu'Apport reconnaît:
- Forfaits Ubuntu ou
- Applications du tableau de bord, mais mon application n'est ni l'une ni l'autre. Alors, comment Apport m'aide-t-il dans le scénario actuel?
Réponses:
la source