Qu'est-ce que le noyau sous Linux
Sous Linux, le core est une image mémoire avec des informations de débogage ajoutées Lorsqu'un programme se termine ou se termine anormalement sous Linux, nous utiliserons le fichier core pour l'analyse, qui contient la mémoire, les registres, le pointeur de pile, etc. en cours d'exécution. Les informations, au format ELF, peuvent être comprises comme le transfert de l'état actuel du programme dans un fichier.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.
Qu'est-ce que le core sous Linux ?
Explication détaillée de la façon d'utiliser les fichiers de base sous Linux
Parfois, le programme se ferme anormalement sans aucun journal. À ce stade, vous pouvez utiliser le fichier de code pour l'analyse. Il enregistrera la mémoire, les registres, le pointeur de pile et autres. informations sur le programme en cours d'exécution
Fichier Core :
Habituellement, lorsqu'un programme se termine ou se termine anormalement sous Linux, nous utiliserons le fichier core pour l'analyse, qui contient la mémoire, les registres, le pointeur de pile et d'autres informations lorsque le programme est en cours d'exécution. Le format est ELF, qui peut être compris comme un programme. L'état actuel du travail est déversé dans un fichier. En analysant ce fichier avec un outil, nous pouvons localiser l'appel de pile correspondant et d'autres informations lorsque le programme se termine anormalement ou se termine. pour aider à résoudre le problème.
Utiliser le débogage du fichier principal
Méthode de génération
Afficher l'état du fichier principal actuel
$ ulimit -a ... -c: core file size (blocks) 0 # 关闭状态 ...
Activer le commutateur de génération
ulimit -c unlimited ulimit -a ... -c: core file size (blocks) unlimited ...
Limiter la taille du fichier principal en blocs, généralement 1 bloc = 512 octets, si le paramètre est trop petit, le fichier peut ne pas être généré
$ ulimit -c 1024 $ ulimit -a ... -c: core file size (blocks) 1024 ...
Désactivez le commutateur de génération
ulimit -c 0 ulimit -a ... -c: core file size (blocks) 0 ...
L'opération ci-dessus sur le fichier principal ne prend effet que pour l'heure actuelle. Si elle doit prendre effet de manière permanente, le l'opération correspondante doit être écrite dans /etc/profile
Chemin de génération
Le fichier core est généré par défaut dans le répertoire de travail du programme. Vous devez vous assurer qu'il y a suffisamment d'espace. et l'autorisation d'écriture pour le répertoire correspondant
echo /MyCoreDumpDir/core.%e.%p > /proc/sys/kernel/core_pattern
La liste de paramètres utilisée pour nommer
%p - insert pid into filename # 添加 pid %u - insert current uid into filename # 添加当前 uid %g - insert current gid into filename # 添加当前 gid %s - insert signal that caused the coredump into the filename # 添加导致产生 core 的信号 %t - insert UNIX time that the coredump occurred into filename # 添加 core 文件生成时的 unix 时间 %h - insert hostname where the coredump happened into filename # 添加主机名 %e - insert coredumping executable name into filename # 添加命令名
/proc/ Si la valeur du fichier sys/kernel/core_uses_pid est 1, peu importe le moment où %p est configuré, le fichier core finalement généré sera ajoutez pid
Méthode de débogage
Vous pouvez utiliser gdb pour déboguer le fichier principal, et vous devez l'apporter lors de la compilation de l'option -g
$ gdb a.out ... (gdb) core-file core ... (gdb) bt ...
Si vous devez déboguer le fichier principal généré par le périphérique intégré sur le PC , vous devez sélectionner l'outil gdb de la plate-forme correspondante et définir l'emplacement du fichier de symboles après avoir entré gdb
$ xxx-xxx-gdb a.out ... (gdb) solib-search-path xxx.so:xxx.so ... (gdb) core-file core ... (gdb) bt ...
Recommandations associées : "Tutoriel vidéo Linux 》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Les principales différences entre Centos et Ubuntu sont: l'origine (Centos provient de Red Hat, pour les entreprises; Ubuntu provient de Debian, pour les particuliers), la gestion des packages (Centos utilise Yum, se concentrant sur la stabilité; Ubuntu utilise APT, pour une fréquence de mise à jour élevée), le cycle de support (CentOS fournit 10 ans de soutien, Ubuntu fournit un large soutien de LT tutoriels et documents), utilisations (Centos est biaisé vers les serveurs, Ubuntu convient aux serveurs et aux ordinateurs de bureau), d'autres différences incluent la simplicité de l'installation (Centos est mince)

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

VS Code pour changer le mode chinois: ouvrez l'interface des paramètres (Windows / Linux: Ctrl, macOS: CMD,) Recherchez des paramètres "Editor: Language" Sélectionnez "Chine

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.
