>Java >java지도 시간 >명령줄 도구를 사용하여 Java 기능을 디버깅하는 방법은 무엇입니까?

명령줄 도구를 사용하여 Java 기능을 디버깅하는 방법은 무엇입니까?

王林
王林원래의
2024-04-24 18:54:02792검색

명령줄 도구를 사용하여 Java 기능을 디버그하려면 JDT(Java 디버깅 도구) 설치, 함수 구성, 함수 실행, 디버거 연결, 디버깅을 위해 Java 함수에 중단점 설정이 필요합니다.

명령줄 도구를 사용하여 Java 기능을 디버깅하는 방법은 무엇입니까?

명령줄 도구를 사용하여 Java 기능 디버그

Java 기능을 개발하고 테스트할 때 오류를 식별하고 수정하려면 디버깅이 중요합니다. 명령줄 도구는 기능을 진단하고 디버깅하는 강력한 방법을 제공합니다.

Java 디버깅 도구 설치

명령줄 도구를 사용하여 Java 기능을 디버깅하려면 JDT(Java 디버깅 도구)를 설치해야 합니다. JDT는 다음에서 다운로드할 수 있습니다.

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

함수 구성

Java 함수를 디버깅하기 전에 함수가 올바르게 구성되었는지 확인해야 합니다. pom.xml 파일에 필요한 종속성을 추가하는 방법은 다음과 같습니다.

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

함수 실행

함수를 실행하려면 다음 명령을 사용하세요.

mvn package appengine:run

이렇게 하면 현재 디렉터리에서 함수가 실행됩니다.

디버거 연결

디버깅하는 동안 함수에 연결하고 중단점을 설정하려면 다음 명령을 사용하세요.

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

이렇게 하면 포트 5005에서 디버그 서버가 시작됩니다.

IDE에서 디버깅

IntelliJ IDEA 또는 Visual Studio Code와 같이 선호하는 IDE를 사용하여 함수에 디버거를 연결할 수 있습니다. IDE에서 실행 > 원격 Java 애플리케이션에 연결로 이동합니다. 팝업 창에 호스트 이름(localhost)과 포트 번호(5005)를 입력합니다.

실용 사례

다음은 명령줄 도구를 사용하여 Java 함수를 디버깅하는 실제 사례입니다.

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;
    }
  }
}

함수 실행

이 함수를 실행하고 디버그하려면 다음 단계를 따르세요.

  1. 터미널 mvn package 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. IDE에서 또는 명령줄에서 java -agentlib:jdwp=transport=dt_socket,server=y,suspens=y,address=5005 -jar target/function-1.0-SNAPSHOT.jar를 사용하세요. 연결된 디버거 .
  4. 함수의 끝점에 액세스합니다. 중단점은 예상 위치에서 실행을 중지해야 합니다.
  5. 중단점 설정, 단계별 실행, 변수 검사 등 IDE에서 제공하는 디버깅 기능을 사용하여 함수를 디버그하세요.
🎜

위 내용은 명령줄 도구를 사용하여 Java 기능을 디버깅하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.