Debugging an application

Cloud Code for IntelliJ allows you to easily debug your applications deployed to a Kubernetes cluster. You can debug an application on a local cluster (like Minikube or Docker Desktop), GKE, or any other Cloud provider.

Furthermore, with Cloud Code's debugging support, you don't have to worry about any manual setup like setting up port forwarding or injecting language-specific debug arguments in the right way. All you need to do is have a Cloud Code-ready Kubernetes application that includes a 'skaffold.yaml' configuration file.

Debugging

Click the debug action for 'Kubernetes Continuous Deploy' run action icon to start the development cycle in debug mode on your Kubernetes cluster.

Starting the Kubernetes cluster development cycle in debug mode

The continuous development cycle section, will then initiate in debug mode.

Once the debugger can be attached, Cloud Code will attach a debug session:

Kubernetes debugger attached

You can now perform all the tasks you normally do when debugging local code, like setting breakpoints and stepping through code, except with the added advantage of debugging against a live Kubernetes cluster:

Kubernetes debugger session

To end the debugging session, click the stop icon on the 'Kubernetes Continuous Deploy' Run Configuration.

Configuration Details

Cloud Code will automatically take care of the following for you:

  • Injecting the language specific debug arguments into your Kubernetes configuration.

    • For example, for Java, the following jdwp debug config will be injected as an environment variable in the pod's container specification:

    jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y

  • Port forwarding the debug port so that the debugger can be attached.
  • Attaching a debugger to one or more debuggable Kubernetes services in your application. If your application has multiple debuggable services (services whose language is supported by Cloud Code debug), then a debugger will be attached to each of these services.

For more details, refer to the Skaffold debug documentation.

Getting Support

To send feedback, report issues on GitHub, or ask a question on Stack Overflow.
Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Code for IntelliJ