[Astuce] débogage vs2019

1. L'origine des bugs informatiques

  L’origine la plus célèbre du terme informatique « bug » est la suivante : en 1943, Hopper travaillait pour la marine américaine, au plus fort de la Seconde Guerre mondiale. L'ordinateur Mark-1 était énorme et s'il y avait un problème, il était difficile à trouver. Mais Hopper a finalement découvert le problème, car un papillon de nuit était coincé dans la structure interne. Elle a réalisé un spécimen du papillon dans son carnet et a écrit à côté un article daté du 9 septembre. Selon le site Internet de la Marine, il s'agit du premier cas réel de découverte d'un bug et de l'origine du mot bug.

Insérer la description de l'image ici
Personnage : Hopper,
Insérer la description de l'image ici
  ce que vous voyez doit-il être la vérité ?
 L'article de Hopper montre qu'elle et d'autres utilisaient ce terme pour désigner des problèmes informatiques depuis plusieurs années avant l'incident du papillon. En fait, le bug est même antérieur à Hopper lui-même. Selon l'Oxford English Dictionary, il est apparu pour la première fois dans un journal décrivant Edison. En 1889, un écrivain de la Pall Mall Gazette écrivait : « M. Edison a passé deux nuits à réparer « un bug », une expression utilisée pour exprimer la résolution d'un problème. C'est comme s'il y avait un bug caché dans le gramophone qui causait tous ces problèmes. Cependant, le mot bug était apparu dans les journaux personnels et les lettres d'Edison dès 1876, bien avant ce rapport.
 Alors, comment Edison a-t-il trouvé ce mot ? "Computer World" souligne que le mot remonte à un ancien mot signifiant monstre. Il est encore présent dans certains mots peu courants, comme bugaboo (quelque chose d'ennuyeux ou d'effrayant). Mais Edison a inventé le mot à partir d'un bug littéral. Il imaginait des insectes piégés dans les trous de la machine. Dans une lettre de 1878, il écrit : "Les bugs techniques nécessitent des mois d'observation, d'étude et de travail pour se révéler avant le succès ou l'échec commercial. Après tout, vous regardez des appartements. Vous ne remarquez jamais de cafards lorsque vous y vivez, ils sont exposés seulement après avoir vécu dedans. »
 Alors pourquoi l’incident du papillon de nuit Hopper est-il la première chose qui nous vient à l’esprit lorsque nous parlons d’insectes ? C'est toujours grâce à Hopper lui-même. Parce que dans les années qui ont suivi 1944, elle a raconté à maintes reprises l'histoire du papillon de nuit dans l'ordinateur, ajoutant à un moment donné : "À partir de ce moment-là, quand il y avait un problème avec l'ordinateur, nous disions qu'il y avait un bug. Puis éliminer les bugs s'appelle le débogage .

2. Débogage

1. Définition du débogage

 Après la programmation, utilisez divers moyens pour vérifier et dépanner les erreurs . L’exactitude d’un programme ne se reflète pas seulement dans l’exécution des fonctions normales, mais surtout dans la gestion correcte des situations inattendues. D'un point de vue psychologique, les développeurs et les débogueurs ne devraient pas être la même personne .

2.Étapes de base pour le débogage

1. Découvrir l'existence d'erreurs du programme
2. Localiser les erreurs en les isolant et en les éliminant
3. Déterminer la cause des erreurs
4. Proposer des solutions pour corriger les erreurs
5. Corriger les erreurs du programme et retester

Chaque débogage est un processus consistant à résoudre un cas, à rechercher quelques indices et enfin à trouver le bug.

2.La différence entre la version et le débogage

  Version de débogage : généralement appelée version de débogage, elle contient des informations de débogage et ne fait aucune optimisation pour faciliter le débogage du programme par les programmeurs .
  Version release : appelée version release, elle effectue souvent diverses optimisations pour rendre le programme optimal en termes de taille de code et de vitesse d'exécution, afin que les utilisateurs puissent bien l'utiliser et ne puissent pas déboguer .

3. Touches de raccourci pour le débogage

1. F5 : Démarrer le débogage
2. Ctrl+F5 : Démarrer l'exécution (sans débogage)
3. Shift+F5 : Arrêter le débogage
4. Ctrl+Shift+F5 : Redémarrer le débogage
5. F9 : Activer/désactiver les points d'arrêt
6. Ctrl+F9 : Arrêter le point d'arrêt
7. Ctrl+Shift+F9 : Supprimer tous les points d'arrêt
8. F10 : Pas à pas
9. Ctrl+F10 : Exécuter jusqu'au curseur
10. F11 : Instruction pas à pas

4. Touches de raccourci pour d'autres fonctions

1. Touches de raccourci de la fenêtre

Astuce mémoire : Toute touche de raccourci liée à une fenêtre doit avoir un W (Windows) ; Ctrl+W, W : fenêtre du navigateur (la traduction de youdao pour lèche-vitrines est lèche-vitrines
)

Ctrl+W,S : Gestionnaire de solutions (Solution)

Ctrl+W,C : vue Classe (Classe)

Ctrl+W,E : Liste d'erreurs (Erreur)

Ctrl+W,O : Fenêtre de sortie (sortie de sortie ; affiche les informations de compilation du programme
 ; vous pouvez configurer les informations que vous devez afficher dans "Outils" - "Options" - "Débogage" - "Fenêtre de sortie" dans vs)

Ctrl+W,P : Fenêtre Propriétés (Propriété)

Ctrl+W,T : Liste des tâches (Tâche)

Ctrl+W
, la clé est "X")

Ctrl+W,B : fenêtre de signet (Bookmark Bookmark est très simple à utiliser. S'il y a des milliers de lignes de code, l'ajout d'un signet lors de la recherche de code le rendra beaucoup plus rapide)

Ctrl+W,U : Plan du document (OutLine ; utilisez la deuxième lettre U)

Ctrl+D,B : fenêtre de point d'arrêt (point d'arrêt)

Ctrl+D,I : Fenêtre immédiate (immédiatement)

2. Touches de raccourci de fonction du projet**

Règle : ctrl est une touche de fonction obligatoire et shift ajoute des fonctions au projet.

CTRL + F6 /CTRL + TAB La fenêtre de document suivante est le commutateur de formulaire actif (alt + tab dans le système d'exploitation Windows signifie basculer entre les tâches

CTRL + MAJ + F6 /CTRL + MAJ + TAB fenêtre du document précédent (dans le fonctionnement du système Windows,
je crois que tout le monde sait que shift a la fonction opposée, haha, cela se reflète ici)

F7 : Afficher le code (dans le développement WebForm, il s'agit de visualiser le code en arrière-plan)

Maj+F7 : Afficher le concepteur de formulaire (cette méthode est très pratique pour passer à la page .aspx de premier plan lorsque le fichier cs est en arrière-plan)

Ctrl+Shift+N : Créer un nouveau projet (N signifie Nouveau, donc si vous devez forcer un nouveau projet dans le projet, la combinaison de touches est Ctrl+Shift+N)

Ctrl+Maj+O : Ouvrir le projet (Ouvrir)

CTRL + MAJ + C affiche la fenêtre d'affichage des classes (C signifie Classe)

CTRL + F4 ferme la fenêtre du document (je crois que tous ceux qui ont utilisé QQ ont utilisé alt+f4 pour fermer la fenêtre de discussion actuelle.
Si vous envisagez d'utiliser ctrl+tab pour basculer entre les fenêtres d'onglets actives, vous saurez pourquoi fermer l'onglet actuel la fenêtre est ctrl+f4)

CTRL + MAJ + E affiche la vue des ressources (E signifie Explorer)

CTRL + MAJ + B pour générer la solution (B signifie Build, qui peut également être réalisé avec F6)

Shift+F6 signifie générer le projet en cours (comme mentionné ci-dessus, vous pouvez utiliser f6 pour générer la solution entière. S'il s'agit de la génération du projet en cours, ajoutez naturellement la touche de fonction Shift)

F4 affiche la fenêtre des propriétés MAJ + F4 affiche la fenêtre des propriétés du projet

Ctrl+Shift+S : Enregistrer tout (S signifie Enregistrer. Ici, cela signifie tout enregistrer car s'il ne s'agit que d'une seule sauvegarde, Ctrl+S n'a rien à voir avec l'ensemble du projet. Le concept de tout enregistrer devrait signifier dans l'
ensemble projet, donc dans la combinaison de touches Naturellement, il y aura un décalage)

Ctrl+Shift+A : Créer un nouvel élément (A signifie Ajouter)

Shift+Alt+C : Créer une nouvelle classe
(shift est une touche de fonction liée au projet ; Alt est beaucoup utilisé, à côté des espaces (beaucoup utilisé) ; C est Classe ; et l'ajout de classes est beaucoup utilisé ; donc naturellement : Maj + Alt + C)

3. Rechercher les touches de raccourci associées

Ctrl+F : Rechercher (Find) Ctrl+Shift+F : Rechercher dans le fichier (comme mentionné ci-dessus, shift signifie dans le projet, donc si vous avez besoin de rechercher dans les fichiers du projet, alors Shift est naturellement indispensable) F3 :
Rechercher suivant
(je crois que tous ceux qui ont utilisé le système Windows savent que f3 est la touche de raccourci pour la recherche) Shift+F3 : Rechercher le précédent (shift a une fonction inverse ici) Ctrl+H : Remplacer
Ctrl+Shift+H : Dans le fichier est remplacé dans

4. Touches de raccourci de code

Ctrl+E,D (ctrl+k,d) - Formatez tout le code ; rangez votre code instantanément.

Ctrl+E,F —-Formater le code sélectionné

Ctrl+K,C : Annoter le contenu sélectionné

Ctrl+K,U : Désélectionner le contenu de l'annotation

Ctrl+J /Ctrl+K,L : invite intelligente pour répertorier les membres (liste de la liste du contenu principal du noyau.
Si nous souhaitons afficher les informations spécifiques des membres d'un objet, essayez cette touche de raccourci)

Ctrl+K,P : Informations sur les paramètres (paramètre Paramètres du contenu du noyau du noyau.
Cette combinaison de touches est très utile si nous voulons afficher les paramètres spécifiques d'une méthode)

Ctrl+K,I : afficher rapidement les informations (Informations)

Ctrl+K,S : Code externe (j'utilise généralement #region de temps en temps. Après avoir utilisé la région, le code semble particulièrement soigné.

CTRL + M, CTRL + M réduit ou développe la méthode actuelle

CTRL + M, CTRL + O réduisent toutes les méthodes

CTRL + M, CTRL + L pour développer toutes les méthodes CTRL + M, CTRL + P pour développer toutes les méthodes

Ctrl+M,P : arrêter l'affichage du contour (après avoir utilisé la région pour plier le code, essayez d'utiliser cet ensemble de combinaisons de touches pour expérimenter l'effet de pliage et de dépliage) Ctrl+ shift+f10 : ajouter automatiquement l'espace de noms utilisant (
dans l'objet instancié, beaucoup utilisé)

5. Modifier les touches de raccourci

Maj+Alt+Entrée : passer à l'édition en plein écran

F12 : Aller à la définition de la procédure ou de la variable appelée

Alt+F12 : Rechercher des symboles (lister tous les résultats de la recherche)

shift+f12 : Rechercher toutes les références (placez le curseur sur le mot, puis appuyez sur Shift + F12)

Ctrl+U : Convertir toutes les instructions SQL en minuscules (convertir toutes les instructions SQL en majuscules pour améliorer les performances)

Ctrl+Shift+U : Tout mettre en majuscules (U signifie Majuscule)

Ctrl+Maj+V : boucle du Presse-papiers

Ctrl+Shift+L : Supprimer la ligne actuelle

Ctrl+E,S : Afficher l'espace vide (ctrl+r,w peut également afficher l'espace vide ou afficher ou masquer les marques de tabulation)

Ctrl+E,W : retour à la ligne automatique

Ctrl+G : Aller à la ligne spécifiée (il est très pratique de l'utiliser lorsque l'on veut accéder à une ligne spécifique)

Maj+Alt+flèches : sélectionnez un texte rectangulaire Alt+bouton gauche de la souris : sélectionnez un texte rectangulaire

CTRL + DELETE pour supprimer jusqu'à la fin du mot CTRL + BACKSPACE pour supprimer jusqu'au début du mot SHIFT + TAB pour annuler le caractère de tabulation

Ctrl + touches fléchées gauche et droite : déplacer un mot à la fois

Ctrl+clic : sélectionnez le mot entier actuellement cliqué

SHIFT + END pour sélectionner jusqu'à la fin de la ligne SHIFT + HOME pour sélectionner jusqu'au début de la ligne

CTRL + MAJ + FIN pour sélectionner jusqu'à la fin du document CTRL + MAJ + ACCUEIL pour sélectionner jusqu'à la fin du document

CTRL + MAJ + PAGE HAUT pour sélectionner le début de cette page CTRL + MAJ + PAGE SUIVANTE pour sélectionner le dos de cette page

CTRL + PAGE DOWN Le curseur est positionné au dessus de la fenêtre CTRL + PAGE UP Le curseur est positionné en dessous de la fenêtre

Les documents CTRL + FIN sont positionnés à la fin. Les documents CTRL + HOME sont positionnés au début.

Appuyez deux fois sur la touche Tab pour activer rapidement le segment de code (écrire pour, boucle foreach ou essayer et lier les méthodes d'événement)

ctrl+signe moins : Revenir à la dernière position du curseur

5. Exemples classiques

#include <stdio.h>

int main()
{
    
    	
	int i = 0;
	
	int arr[10] = {
    
     1,2,3,4,5,6,7,8,9 };
	
	for (i = 0; i <= 12; i++)
	{
    
    
		arr[i] = 0;
		printf("%d", arr[i]);//死循环
	}
	
	return 0;
}

Illustration:
Insérer la description de l'image ici

6. Bonnes habitudes pour écrire du code

  1. Utilisez assert - fichier d'en-tête : assert.h
  2. Essayez d'utiliser const
  3. Développer un bon style de codage
  4. Ajouter les commentaires nécessaires
  5. Évitez les pièges du codage.

Exemple : Simuler l'implémentation de strcpy

char * strcpy(char * dst, const char * src)
{
    
    
	char * cp = dst;
	assert(dst && src);
	while( *cp++ = *src++ )
	{
    
    
	   ;
	}
	return( dst );
}

Illustration:
Insérer la description de l'image ici

7.Le rôle de const

Devise : Celui qui est proche de vous ne peut pas bouger.

int main()
{
    
    
	int a = 10;
	int b = 0;
	int* p = &a;
	return 0;
}

Insérer la description de l'image ici

8. Erreurs courantes dans la programmation

7.1 Pour les erreurs de compilation,
consultez directement le message d'erreur (double-clic) pour résoudre le problème. Ou vous pouvez le faire avec de l'expérience . Relativement simple.
7.2 Pour les erreurs de type lien,
examinez le message d'erreur , recherchez principalement l'identifiant dans le message d'erreur dans le code, puis localisez le problème. Généralement, le nom de l'identifiant n'existe pas ou est mal orthographié.
7.3 Les erreurs d'exécution
utilisent le débogage pour localiser progressivement le problème . La chose la plus difficile à faire.

Résumer

 Les compétences de débogage nous obligent à accumuler de l'expérience étape par étape dans des situations réelles. À la fin, nous deviendrons tous de grands gars. Si vous pensez que l'article est bon, autant lui donner une récompense de trois à la suite ! Merci!

Je suppose que tu aimes

Origine blog.csdn.net/Shun_Hua/article/details/128457512
conseillé
Classement