Maison  >  Article  >  Java  >  Comment utiliser les outils de ligne de commande pour déboguer les fonctions Java ?

Comment utiliser les outils de ligne de commande pour déboguer les fonctions Java ?

王林
王林original
2024-04-24 18:54:02752parcourir

L'utilisation d'outils de ligne de commande pour déboguer les fonctions Java nécessite l'installation de l'outil de débogage Java (JDT), la configuration de votre fonction, l'exécution de la fonction, l'attachement du débogueur et la définition de points d'arrêt dans la fonction Java pour le débogage.

Comment utiliser les outils de ligne de commande pour déboguer les fonctions Java ?

Déboguer les fonctions Java à l'aide d'outils de ligne de commande

Lors du développement et du test de fonctions Java, le débogage est crucial pour identifier et corriger les erreurs. Les outils de ligne de commande offrent des moyens puissants de diagnostiquer et de déboguer vos fonctions.

Installer les outils de débogage Java

Pour utiliser les outils de ligne de commande pour déboguer les fonctions Java, vous devez installer les outils de débogage Java (JDT). JDT peut être téléchargé depuis :

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-debug

Configuration de votre fonction

Avant de déboguer une fonction Java, vous devez vous assurer que votre fonction est correctement configurée. Voici comment ajouter les dépendances nécessaires dans votre fichier pom.xml :

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>functions-framework-api</artifactId>
    <version>1.0.29</version>
</dependency>

Exécuter la fonction

Pour exécuter votre fonction, utilisez la commande suivante :

mvn package appengine:run

Cela exécutera votre fonction dans le répertoire courant.

Attach Debugger

Pour attacher une fonction et définir des points d'arrêt pendant que vous la déboguez, utilisez la commande suivante :

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -jar target/function-1.0-SNAPSHOT.jar

Cela démarrera le serveur de débogage sur le port 5005.

Débogage dans un IDE

Vous pouvez attacher un débogueur à une fonction en utilisant votre IDE préféré tel qu'IntelliJ IDEA ou Visual Studio Code. Dans votre IDE, accédez à Exécuter > Attacher à une application Java distante. Dans la fenêtre contextuelle, entrez le nom d'hôte (localhost) et le numéro de port (5005).

Un cas pratique

Ce qui suit est un cas pratique de débogage d'une fonction Java à l'aide de l'outil de ligne de commande :

import com.google.cloud.functions.HttpFunction;
import com.google.cloud.functions.HttpRequest;
import com.google.cloud.functions.HttpResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.logging.Level;
import java.util.logging.Logger;

public class MyFunction implements HttpFunction {

  private static final Logger logger = Logger.getLogger(MyFunction.class.getName());

  @Override
  public void service(HttpRequest request, HttpResponse response)
      throws IOException {
    try {
      int a = 10;
      int b = 0;

      // 设置断点在这里
      int c = a / b;

      PrintWriter writer = response.getWriter();
      writer.printf("计算的结果是 : %d", c);
    } catch (Exception e) {
      logger.log(Level.SEVERE, "计算失败", e);
      throw e;
    }
  }
}

Exécuter une fonction

Pour exécuter et déboguer cette fonction, suivez ces étapes :

  1. Exécutez dans le terminal package mvn appengine:run. mvn package appengine:run
  2. 在 IDE 中或使用 java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -jar target/function-1.0-SNAPSHOT.jar
  3. Dans l'IDE ou utilisez java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -jar target/function-1.0-SNAPSHOT.jar en ligne de commande Débogueur attaché .
  4. Accédez au point final de la fonction. Les points d'arrêt doivent arrêter l'exécution à l'emplacement prévu.
  5. Déboguez vos fonctions à l'aide des fonctionnalités de débogage fournies par votre IDE, telles que la définition de points d'arrêt, la progression pas à pas et l'inspection des variables.
🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn