Debugowanie aplikacji Java

Aby debugować programy Java™ , można użyć aplikacji Java Debugger (JDB) lub innych debugerów komuniujących się za pomocą architektury Java Platform Debugger Architecture (JPDA) udostępnianej przez pakiet SDK dla systemu operacyjnego.

Informacje na temat diagnozowania problemów przy użyciu języka Java można znaleźć w sekcji Rozwiązywanie problemów i wsparcie.

Uwaga: W systemach AIX® pakiet SDK zawiera wtyczkę dla debugera systemu AIX , DBX. Mimo że wtyczka DBX jest dostarczana jako część pakietu SDK, nie jest ona obsługiwana. Jednak program IBM® będzie akceptować raporty o błędach.

Debuger Java

Baza danych JDB jest dołączona do pakietu SDK. Debuger jest uruchamiany za pomocą komendy jdb . Jest on dołączany do maszyny JVM za pomocą JPDA.

Aby debugować aplikację Java:
  1. Uruchom maszynę JVM z następującymi opcjami:
    • W systemach Windows:
      java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
    • W innych systemach:
      java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>

    Maszyna JVM zostanie uruchomiona, ale zawiesza wykonywanie przed uruchomieniem aplikacji Java.

  2. W oddzielnej sesji można przyłączyć debuger do maszyny JVM:
    jdb -attach <port>
    Debuger dołączy do maszyny JVM, a użytkownik może teraz wydać szereg komend w celu sprawdzenia i kontrolowania aplikacji Java. Na przykład wpisz run , aby zezwolić na uruchamianie aplikacji Java.
Aby debugować aplikacje Java działające na zdalnych stacjach roboczych:
JPDA używa gniazda TCP/IP do łączenia się ze zdalną maszyną JVM.
  1. Uruchom maszynę JVM z następującymi opcjami:
    • W systemach Windows:
      java -agentlib:jdwp=transport=dt_shmem,server=y,address=<port> <class>
    • W innych systemach:
      java -agentlib:jdwp=transport=dt_socket,server=y,address=<port> <class>

    Maszyna JVM zostanie uruchomiona, ale zawiesza wykonywanie przed uruchomieniem aplikacji Java.

  2. Dołącz debuger do zdalnej maszyny JVM:
    • W systemach Windows:
      jdb -connect com.sun.jdi.SocketAttach:hostname=<host>,port=<port>
    • W innych systemach:
      jdb -attach <host>:<port>
Aby uzyskać więcej informacji:
  • Aby uzyskać więcej informacji na temat opcji JDB, wpisz: jdb -help
  • Więcej informacji na temat komend JDB:
    1. Typ jdb
    2. W wierszu komend jdb wpisz help .
  • Więcej informacji na temat JDB i JPDA oraz ich składni można znaleźć w: