JDB - Guide rapide
Le débogage est une procédure technique pour trouver et supprimer des bogues ou des défauts dans un programme et obtenir les résultats attendus. Le débogage comprend les tests et la surveillance. C'est très complexe lorsque les sous-unités d'un programme sont étroitement couplées. Nous pouvons déboguer un programme à l'aide des outils de débogage qui suivent les API prescrites. Un débogueur vous permet de parcourir tous les aspects d'un code, d'inspecter tous les éléments et de supprimer les erreurs, le cas échéant.
Techniques de débogage
Il existe différents types de techniques pour déboguer un programme Java. L'ancienne méthode de débogage consiste à utiliser des instructions d'impression à la fin de chaque segment qui afficheront les instructions de trace sur la console. Jetez un œil au code suivant.
pubic class Add
{
public static void main(String ar[])
{
int a=ar[0];
system.out.println("A : " +a);
int b=ar[1];
system.out.println("B : " +b);
int c = a + b;
system.out.println("C = a + b : " +c);
}
}
Ici, nous avons un programme qui ajoute deux nombres et imprime la sortie. Notez qu'à chaque étape, nous avons introduit une instruction print qui imprime l'état du programme sur la console. C'est l'approche traditionnelle pour déboguer un programme.
De plus, nous avons des concepts avancés qui peuvent être utilisés pour déboguer un programme tels que:
- stepping
- points d'arrêt, et
- exceptions ou points de vigilance.
Types de débogage
Nous pouvons déboguer un programme en utilisant différentes méthodes:
- Utilisation du bytecode Java (version compilée du code Java)
- Utilisation des commentaires dans les programmes
- Attacher une classe à un programme en cours d'exécution
- Débogage à distance
- Débogage à la demande
- Débogage de code optimisé
Débogueurs Java
Voici quelques exemples de débogueurs Java disponibles sur le marché:
- Les IDE tels qu'Eclipse, Netbeans, etc. contiennent leurs propres débogueurs (Visual cafe, Borland, JBuilder)
- GUI de débogage autonomes (telles que Jikes, débogueur de plate-forme Java et JProbe)
- Débogueur de ligne de commande (JDB de Sun)
- Bloc-notes ou VI (trace de pile)
Ce tutoriel explique comment utiliser le débogueur de ligne de commande, jdb.
JDB
Le débogueur Java (JDB) est un outil permettant aux classes Java de déboguer un programme en ligne de commande. Il implémente l'architecture du débogueur de plate-forme Java. Il aide à détecter et à corriger les bogues dans un programme Java à l'aide de Java Debug Interface (JDI).
JDB dans JDK
L'architecture suivante définit le rôle de JDB dans JDK. Il contient principalement trois unités:
- Interface Java Virtual Machine Tool (JVM TI)
- Pool de câblage de débogage Java (JDWP)
- Interface de débogage Java (JDI)
JVM TI
Il s'agit d'une interface de programmation native implémentée par VM. Il fournit des moyens d'inspecter et de déboguer l'état de l'application en cours d'exécution sur la machine virtuelle. Il permet un implémenteur (VM Implementer) qui peut être facilement inclus dans l'architecture de débogage. Il utilise également un canal tiers appeléJDWP pour la communication.
JDWP
Il définit le format des informations et les demandes qui passent entre le processus de débogage et le serveur frontal du débogueur. Le but principal d'avoir un JDWP est de permettre au débogueur et au débogueur de communiquer lorsqu'ils s'exécutent sous des VM distinctes ou sur des plates-formes distinctes.
JDI
Il s'agit d'une interface Java de haut niveau implémentée en tant que frontal. Il définit les informations variables au niveau du code utilisateur. Il est recommandé d'utiliser une couche JDI pour tout développement de débogueur. Il utilise JDWP pour la communication avec la JVM de débogage.
Ce chapitre explique comment installer JDB sur les systèmes Windows et Linux. JDB fait partie de JDK. Par conséquent, l'installation de JDK est suffisante pour utiliser JDB dans l'invite de commande.
Configuration requise
Voici la configuration système requise pour installer JDB:
JDK | Java SE 2 JDK 1.5 ou supérieur |
Mémoire | 1 Go de RAM (recommandé) |
Espace disque | Aucune exigence minimale |
Version du système d'exploitation | Windows XP ou supérieur, Linux |
Suivez les étapes simples ci-dessous pour installer JDB sur votre système.
Étape 1: vérification de l'installation de Java
Tout d'abord, vous devez disposer du kit de développement logiciel Java (SDK) installé sur votre système. Pour vérifier cela, exécutez l'une des deux commandes en fonction de la plate-forme sur laquelle vous travaillez.
Si l'installation de Java a été effectuée correctement, il affiche la version actuelle et les spécifications de l'installation de Java. Un exemple de sortie est donné dans le tableau suivant.
Plate-forme | Commander | Exemple de sortie |
---|---|---|
les fenêtres | Ouvrez la console de commande et tapez: \>java –version |
Version Java "1.7.0_60" Environnement d'exécution Java (TM) SE (build 1.7.0_60-b19) VM serveur 64 bits Java Hotspot (TM) (build 24.60-b09, mode mixte) |
Linux | Ouvrez le terminal de commande et tapez: $java –version |
version java "1.7.0_25" Ouvrir l'environnement d'exécution JDK (rhel-2.3.10.4.el6_4-x86_64) Ouvrez la machine virtuelle du serveur JDK 64 bits (build 23.7-b01, mode mixte) |
Nous supposons que les lecteurs de ce didacticiel ont installé la version 1.7.0_60 du SDK Java sur leur système. Si vous ne disposez pas du SDK Java, téléchargez sa version actuelle à partir du lienhttp://www.oracle.com/technetwork/java/javase/downloads/index.html et installez-le.
Étape 2: Configuration de l'environnement Java
Définissez la variable d'environnement JAVA_HOME pour qu'elle pointe vers l'emplacement du répertoire de base où Java est installé sur votre machine. Par exemple,
Plate-forme | La description |
---|---|
les fenêtres | définissez JAVA_HOME sur C: \ ProgramFiles \ java \ jdk1.7.0_60 |
Linux | export JAVA_HOME = / usr / local / java |
Ajoutez le chemin complet de l'emplacement du compilateur Java au chemin système.
Plate-forme | La description |
---|---|
les fenêtres | Ajoutez la chaîne "C: \ Program Files \ Java \ jdk1.7.0_60 \ bin" à la fin de la variable système PATH. |
Linux | export PATH = $ PATH: $ JAVA_HOME / bin / |
Exécutez la commande java -version à partir de l'invite de commande comme expliqué ci-dessus.
Étape 3: Vérification de l'installation de JDB
Vérifiez la version JDB comme suit:
Plate-forme | Commander | Exemple de sortie |
---|---|---|
les fenêtres | Ouvrez la console de commande et tapez: \>jdb –version |
Il s'agit de JDB version 1.6 (Java SE version 1.7.0_60) |
Linux | Ouvrez le terminal de commande et tapez: $jdb –version |
Il s'agit de JDB version 1.6 (Java SE version 1.7.0_60) |
Ce chapitre explique la syntaxe de la commande JDB. La syntaxe contient quatre sections répertoriées comme suit:
- JDB
- option
- class
- arguments
Syntaxe
La syntaxe de JDB est la suivante.
jdb [ options ] [ class ] [ arguments ]
JDB
Il appelle jdb.exe à partir du kit de développement Java.
Options
Celles-ci incluent les options de ligne de commande utilisées pour déboguer un programme Java de manière efficace. Le lanceur JDB accepte toutes les options (telles que -D, -classpath et -X) et certaines options avancées supplémentaires telles que (-attach, -listen, -launch, etc.).
Classe
C'est le nom de la classe sur laquelle vous souhaitez effectuer des opérations de débogage.
Arguments
Ce sont les valeurs d'entrée données à un programme lors de l'exécution. Par exemple, arg [0], arg [1] à la méthode main ().
Dans les quatre segments ci-dessus, les options sont les plus importantes.
Ce chapitre décrit les options importantes disponibles dans JDB qui sont soumises comme arguments avec la commande jdb.
Options
Le tableau suivant contient une liste d'options acceptées par JDB:
Nom | La description |
---|---|
-Aidez-moi | Affiche le message d'aide et répertorie les options associées. |
-sourcepath | Utilise le chemin donné pour les fichiers source si le chemin n'est pas spécifié, alors il prend le chemin par défaut «.», C'est-à-dire le répertoire courant. |
-attacher | Attache le débogueur à la machine virtuelle en cours d'exécution en spécifiant l'adresse de la machine virtuelle en cours d'exécution. |
-Ecoutez | Attend que la machine virtuelle en cours d'exécution se connecte à l'aide du connecteur standard. |
-écouter | Attend que la machine virtuelle en cours d'exécution se connecte à l'aide de n'importe quelle adresse. |
-lancement | Lance l'application déboguée immédiatement au démarrage de la tâche. |
-listeconnecteurs | Répertorie les connecteurs disponibles dans cette machine virtuelle. |
-relier | Se connecte à la machine virtuelle cible à l'aide d'un connecteur nommé avec les valeurs d'argument répertoriées. |
-dbgtrace | Imprime des informations pour le débogage de jdb. |
-tclient | Exécute l'application dans Java Hotspot VM (client). |
-serveur | Exécute l'application dans Java Hotspot VM (serveur). |
-Joption | Transmet l'option à la machine virtuelle Java utilisée pour exécuter JDB. |
Utilisation d'options avec des commandes
Les commandes suivantes montrent comment utiliser certaines des options ci-dessus:
-Aidez-moi
La commande suivante obtient -help lors de l'utilisation de JDB.
\>jdb -help
-attacher
La commande suivante attache le débogueur à une machine virtuelle spécifiée (numéro de port: 1099).
\> jdb -attach 1099
-Ecoutez
La commande suivante fait que le processus JDB s'exécute sur la VM actuelle en attente à l'aide du connecteur standard (VM en 8008).
\>jdb -listen 8088
-écouter
La commande suivante fait attendre le processus JDB en cours d'exécution sur la machine virtuelle actuelle à l'aide de n'importe quel connecteur (machine virtuelle dans le port en cours d'exécution).
\>jdb –listenany
-tclient
La commande suivante exécute l'application dans la VM Java Hotspot (™) (client).
\>jdb –tclient
-serveur
La commande suivante exécute l'application sur la VM Java Hotspot (™) (serveur).
\>jdb -tserver
Ce chapitre décrit comment démarrer une session JDB de différentes manières. Le lancement JDB est la technique fréquemment utilisée pour démarrer une session JDB.
Il existe deux manières différentes de démarrer une session JDB:
- Démarrage de la session JDB en y ajoutant la classe (nom de la classe principale).
- Ajout de JDB à l'exécution de JVM pour démarrer la session.
Démarrer une session en ajoutant une classe
La commande suivante démarre une session JDB:
Syntaxe
\>jdb <classname>
Exemple
Supposons que nous ayons une classe nommée TestClass. La commande suivante démarre une session JDB à partir de TestClass.
\>jdb TestClass
Si vous suivez cette commande, il démarre une nouvelle machine virtuelle Java avec les paramètres spécifiés. Ensuite, il charge la classe et l'arrête avant d'exécuter la première instruction de la classe.
Démarrer une session en ajoutant JDB à une machine virtuelle Java en cours d'exécution
Vous trouverez ci-dessous la syntaxe et l'exemple pour démarrer une session JDB en ajoutant le JDB à une JVM en cours d'exécution.
Syntaxe
La syntaxe suivante est pour la session JDB:
-agentlib:jdwp=transport=dt_shmem,address=
,server=y,suspend=n
Exemple
Supposons que le nom de la classe principale soit TestClasset JVM permet au JDB de le connecter ultérieurement. Voici la commande pour ajouter JDB à JVM:
\>java
-agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n TestClass
Vous pouvez maintenant attacher le JDB à la JVM avec la commande suivante:
\> jdb -attach jdbconn
Note: Ici le TestClass n'est pas ajouté à la commande JDB, car JDB est connecté à la machine virtuelle en cours d'exécution au lieu d'en lancer une nouvelle.
Ce chapitre vous présente les commandes de base de JDB. Après le lancement d'une session, ces commandes sont utilisées pour déboguer un programme.
Voici la liste des commandes utilisées pour le débogage.
Nom | La description |
---|---|
aide ou? | Le plus important JDBcommander; il affiche une liste des commandes reconnues avec une brève description. |
courir | Après le démarrage JDB et en définissant les points d'arrêt nécessaires, vous pouvez utiliser cette commande pour démarrer l'exécution et déboguer une application. |
cont | Continue l'exécution de l'application déboguée après un point d'arrêt, une exception ou une étape. |
impression | Affiche les objets Java et les valeurs primitives. |
déverser | Pour les valeurs primitives, cette commande est identique à print. Pour les objets, il imprime la valeur actuelle de chaque champ défini dans l'objet. Les champs statiques et d'instance sont inclus. |
fils | Répertorie les threads en cours d'exécution. |
fil | Sélectionne un thread comme thread actuel. |
où | Vide la pile du thread actuel. |
Exemple
Supposons que nous ayons un exemple de classe appelé Add pour les exemples suivants:
Add.java
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Compilez cette classe Add.java à l'aide de la commande suivante:
\>javac Add.java
Courir
Cette commande exécute le fichier de classe principal, qui est ajouté à JDB pour le débogage. Exécutez les commandes suivantes pour exécuter la classe Add.
\>jdb Add
initializing jdb …
>run
En exécutant ces commandes, vous obtenez la sortie suivante:
Ce chapitre explique le concept de points d'arrêt et comment définir des points d'arrêt dans un programme. Un point d'arrêt introduit un arrêt ou une pause explicite dans l'exécution d'un programme sur une ligne de code particulière lors du débogage. Il est utile d'acquérir des connaissances sur les variables du programme lors de son exécution.
Syntaxe
La commande suivante définit un point d'arrêt à un numéro de ligne particulier:
> stop at <class name>:<Line no>
La commande suivante définit un point d'arrêt sur une méthode particulière ou sur une variable particulière:
> stop in <class name>:< Method name | Variable name>
Exemple
L'exemple suivant montre comment configurer un point d'arrêt dans une classe.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Enregistrez le fichier ci-dessus sous Add.java. Compilez ce fichier à l'aide de la commande suivante:
\>javac Add.java
Débogage
Prenons un exemple pour le débogage. Ici, nous démarrons le processus de débogage en définissant un point d'arrêt sur main (). Vous trouverez ci-dessous les étapes à suivre dans le processus de débogage:
Étape 1: démarrer une session JDB
La commande suivante démarre une session JDB sur la classe Add pour le débogage:
\> jdb Add
Étape 2: définir un point d'arrêt
La commande suivante définit un point d'arrêt sur la méthode main () de la classe Add.
> stop in Add.main
Si le point d'arrêt est défini avec succès, vous obtenez la sortie suivante:
Deferring breakpoint Add.main.
It will set after the class is loaded.
>
Étape 3: démarrer le débogage
La commande suivante démarre l'exécution de la classe Add:
> run Add
Si vous exécutez cette commande, vous obtenez la sortie suivante. Dans cette sortie, vous trouvez que l'exécution s'arrête à la position du point d'arrêt, c'est-à-dire à la fonction main ().
L'exécution s'arrête à la première ligne de la méthode principale, c'est-à-dire à "int a = 5, b = 6;" ou Ligne no: 11 dans le code. Vous pouvez observer ces informations dans la sortie.
Étape 4: Poursuivre l'exécution
La commande suivante poursuit l'exécution du programme:
cont
Il vous donne la partie d'exécution restante et la sortie comme suit:
> Add:11
The application exited
\>
Ce chapitre explique comment utiliser le concept de Pas à pas dans le débogage d'un programme. Le pas à pas est la fonction de débogage qui vous permet d'exécuter le code en parcourant ligne par ligne. Grâce à cela, vous pouvez examiner chaque ligne du code pour vous assurer qu'elles se comportent comme prévu.
Les commandes suivantes sont utilisées dans le processus pas à pas:
- step: étapes vers la ligne d'exécution suivante
- list: examine où vous vous trouvez dans le code
- cont: continue l'exécution restante
Exemple
L'exemple suivant utilise la classe Add que nous avons utilisée dans le chapitre précédent:
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Enregistrez le fichier ci-dessus sous Add.java. Compilez ce fichier à l'aide de la commande suivante:
\>javac Add.java
Supposons que le point d'arrêt soit défini sur la méthode main () de la classe Add. Les étapes suivantes montrent comment appliquer la procédure pas à pas dans la classe Add.
Étape 1: Exécuter le travail
La commande suivante démarre l'exécution de la classe nommée Add.
> run Add
Si vous exécutez cette commande, vous obtenez la sortie suivante. Dans cette sortie, vous pouvez constater que l'exécution s'arrête à la position du point d'arrêt, c'est-à-dire à la méthode main ().
L'exécution s'arrête à la première ligne de la méthode principale, c'est-à-dire à "int a = 5, b = 6;" ou Ligne no: 11 dans le code. Vous pouvez observer ces informations dans la sortie.
Étape 2: parcourir le code
La commande suivante fait passer l'exécution à la ligne suivante.
main[1] step
Maintenant, les étapes d'exécution à la ligne no: 12. Vous obtenez de voir la sortie suivante.
Étape 3: Listez le code
La commande suivante répertorie le code:
main[1] list
Vous obtenez la sortie suivante. La commande List est utilisée pour vous indiquer la ligne du code jusqu'à laquelle le contrôle de programme a atteint. Notez la flèche => dans la capture d'écran suivante qui montre la position actuelle du contrôle du programme.
Étape 4: Poursuivre l'exécution
La commande suivante continue d'exécuter le code:
main[1] cont
Cette commande continue d'exécuter les lignes restantes du code. La sortie est comme indiqué ci-dessous:
> Add:11
The application exited
\>
Généralement, il existe trois types de progression:
- Entrer dans
- Enjamber
- Sors
Entrer dans
En utilisant cette commande, vous pouvez passer à la ligne suivante du code. Si la ligne suivante du code est un appel de fonction, alors il entre dans la fonction en pilotant la commande sur la ligne supérieure de la fonction.
Dans le code suivant, la flèche définit le contrôleur dans le code.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
-> Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Si vous utilisez le step intocommande, le contrôleur passe à la ligne suivante, c'est-à-dire "int c = ob.addition (a, b);". Sur cette ligne, il y a un appel de fonctionaddition(int, int) par conséquent, le contrôleur se déplace vers la ligne supérieure de la fonction d'addition avec la flèche comme indiqué ci-dessous:
public class Add
{
public int addition( int x, int y)
-> {
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Enjamber
Step Over exécute également la ligne suivante. Mais si la ligne suivante est un appel de fonction, elle exécute cette fonction en arrière-plan et renvoie le résultat.
Prenons un exemple. Dans le code suivant, la flèche définit le contrôle dans le code.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
-> Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Si vous utilisez le step overcommande, le contrôle passe à la ligne suivante, c'est-à-dire "int c = ob.addition (a, b);". Dans cette ligne, il y a un appel de fonctionaddition(int, int) par conséquent, l'exécution de la fonction se fait en arrière-plan et le résultat est renvoyé à la ligne actuelle avec la flèche comme indiqué ci-dessous:
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
-> int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Sors
Step Out exécute la ligne suivante. Si la ligne suivante est un appel de fonction, elle l'ignore et l'exécution de la fonction continue avec les lignes restantes du code.
Prenons un exemple. Dans le code suivant, la flèche définit le contrôleur dans le code.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
-> Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Si vous utilisez le step outcommande, le contrôleur passe à la ligne suivante, c'est-à-dire "int c = ob.addition (a, b);". Dans cette ligne, il y a un appel de fonctionaddition(int, int) par conséquent, l'exécution de la fonction est ignorée et l'exécution restante continue avec la flèche comme indiqué ci-dessous:
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
-> int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Ce chapitre explique comment gérer la classe d'exception à l'aide de JDB. En général, chaque fois qu'un programme déclenche une exception sans instruction catch, la machine virtuelle imprime la ligne d'exception, la cause de l'exception et se ferme. Si l'exception a été déclenchée avec une instruction catch, l'exception est gérée par l'instruction catch. Ici, la VM imprime la sortie avec la cause de l'exception.
Lorsque la classe qui déclenche l'exception s'exécute sous JDB, elle lève également le uncaughtexception. Cette exception peut être gérée à l'aide ducatch commander.
Exemple
Prenons un exemple de la classe JdbException:
public class JdbException
{
public static void main(String ar[]) throws Exception
{
int a=8, b=0;
System.out.println("Welcome");
System.out.println("Ex: "+(a/b));
}
}
Enregistrez le fichier ci-dessus sous le nom JdbException.java. Compilez ce fichier à l'aide de la commande suivante:
\>javac JdbException.java
Suivez les étapes ci-dessous pour gérer l'exception.
Étape 1: Exécutez le cours
La commande suivante exécute la classe nommée JdbException comme suit:
\>jdb JdbException
>run
Ce JdbException La classe contient une exception, vous obtenez donc la sortie suivante:
Étape 2: attraper l'exception
La commande suivante intercepte l'exception:
mian[1] catch java.lang.ArithmeticException
Il vous donnera la sortie suivante:
Set all java.lang.ArithmeticException
Étape 3: Poursuivre l'exécution
La commande suivante continue l'exécution. Maintenant, le catch gère l'exception arithmétique comme suit:
Ce chapitre explique comment utiliser JDB dans Eclipse. Avant de continuer, vous devez installer Eclipse Indigo. Suivez les étapes ci-dessous pour installer Eclipse Indigo sur votre système.
Étape 1: Téléchargez et installez Eclipse
Vous pouvez télécharger Eclipse à partir du lien suivant: http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr2
Étape 2: créer un nouveau projet et une nouvelle classe
- Créez un nouveau projet Java en suivant les options File-> New -> Java project.
- Nommez-le comme “sampledebug”.
- Créez une nouvelle classe en faisant un clic droit sur le samplebebug projet.
- Sélectionner options ->new -> class
- Nommez-le comme “Add.java”
Add.java
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Étape 3: Ouvrez la perspective de débogage
Suivez les instructions ci-dessous pour ouvrir la perspective de débogage.
Sur l'IDE Eclipse, accédez à Window -> Open perspective -> Debug. Vous obtenez maintenant la perspective de débogage pour le programme Add.java. Vous obtenez la fenêtre suivante.
Sections dans la perspective de débogage
Les sections de la perspective Débogage sont les suivantes:
Section de codage
Le code Java est affiché dans cette section. C'est le code que vous souhaitez déboguer, c'est-à-direAdd.java. Ici, nous pouvons ajouter un point d'arrêt sur une ligne en double-cliquant devant la ligne. Vous trouvez la bulle bleue avec un symbole de flèche pour indiquer le point d'arrêt de cette ligne. Voir la capture d'écran suivante; vous pouvez trouver la zone sélectionnée avec un cercle rouge pointé comme «1».
- Double cliquez ici. Vous pouvez définir le point d'arrêt pour cette ligne.
Section de point d'arrêt
Cette section définit la liste des points d'arrêt définis sur le code du programme. Ici, nous pouvons ajouter, supprimer, rechercher et gérer les points d'arrêt. La capture d'écran suivante montre la section des points d'arrêt.
Observez les options suivantes dans la capture d'écran donnée:
En utilisant la case à cocher à gauche, nous pouvons sélectionner ou désélectionner un point d'arrêt. Ici, nous utilisons un point d'arrêt, c'est-à-dire la méthode Add class-main ().
L'icône de croix unique «X» est utilisée pour supprimer le point d'arrêt sélectionné.
L'icône de double croix «XX» est utilisée pour supprimer tous les points d'arrêt de votre code.
Le pointeur de flèche est utilisé pour pointer vers le code où le point d'arrêt sélectionné est appliqué.
Les fonctionnalités restantes de la section point d'arrêt sont les suivantes:
Hitcount: Il montre combien de fois le contrôle atteint ce point d'arrêt. Il est utilisé pour la logique récursive.
Suspend thread : Nous pouvons suspendre le fil en cours en le sélectionnant.
Suspend VM : Nous pouvons suspendre la VM en la sélectionnant.
Section de débogage
Cette section est utilisée pour le processus de débogage. Il contient des options utilisées pour le débogage.
Start debugging : Suivez les instructions ci-dessous pour démarrer le débogage.
Faites un clic droit sur le code -> Cliquez sur Debug as -> Cliquez sur 1 Java application.
Le processus de débogage démarre comme indiqué dans la capture d'écran suivante. Il contient certaines options sélectionnées, mises en évidence à l'aide de chiffres numériques.
Nous appliquons un point d'arrêt sur la méthode Add class main (). Lorsque nous commençons le débogage, lecontroller se bloque à la première ligne de la méthode main ().
Il est utilisé pour Resumele processus de débogage et ignorez le point d'arrêt actuel. Cela fonctionne comme lecont commande dans la ligne de commande JDB.
Il est utilisé pour arrêter le processus de débogage.
Cela fonctionne comme le step inprocessus dans la ligne de commande JDB. Il est utilisé pour déplacer le contrôle vers la ligne suivante, c'est-à-dire que le point «1» passe à la ligne suivante.
Cela fonctionne comme le step over processus dans la ligne de commande JDB.
Il est utilisé pour voir sur quelle ligne le point d'arrêt est appliqué.
Suivez les étapes et les sections données pour déboguer votre code dans l'EDI eclipse. Par défaut, chaque IDE contient ce processus de débogage.