Over a million developers have joined DZone.

How to Debug WSO2 Carbon Kernel Tutorial

Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.

In this tutorial I'm going to show you how to debug carbon kernel. This method is actually called the remote debugging.
  1. *For this you'll need a carbon which build from the source. Refer this post.
  2. *An IDE, For this I'm using IDEA.
  3. *Carbon based product I'm using WSO2 Application Server for this tutorial.
Ok now first start the application server in debug mode. Go to  AS-SERVER/bin and execute the following command.
aruna@aruna-Latitude-E6540:~/Downloads/wso2as-5.2.0/bin$ ./wso2server.sh debug 5005
Now start the IDEA IDE. and import the kernel. Just select the root pom.xml and open.
Then create a remote debug configuration. Go to Run --> Edit Configurations... Then press Alt + Insert and select Remote. Give a name to the configuration and complete by pressing apply.

That's it you have configured the IDE and ready to debug. Put a break point and check if it's working. Let's put the break point in the main method.
In the package org.wso2.carbon.server; put a break point to Main.java file. Then press Shift + F9 to start debugging.
That's it for now and happy debugging.. :)

Visually compose APIs with easy-to-use tooling. Learn how IBM API Connect provides near-universal access to data and services both on-premises and in the cloud, brought to you in partnership with IBM.

Topics:

Published at DZone with permission of Aruna Karunarathna, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}