JVM debug mode It is important that developers can use debuggers like Eclipse, NetBeans, and JDB to debug a Java program running in debug mode. Under the hood, debugging features like setting breakpoints, single stepping, inspecting variable values, etc., are implemented through JVM Tool Interface (JVMTI). JVMTI is the lowest level of programming interface used…
Month: April 2019
Automatic Generation of Eclipse OpenJ9 Jenkins Pipelines
When I started my internship, our Jenkins server had a lot of Jenkins pipelines, and some of them shared the same scripts. The jobs that shared the same script were named differently so that people could identify what platform and spec the build just ran on. These pipelines would continuously evolve with revisions coming to…
Using Artifactory for Jenkins build artifact storage
Every build that we launch on Jenkins needs to temporarily archive artifacts, so that it can be tested, debugged, or both. In addition, every test that fails also needs to stash artifacts so that it can be debugged. When I first started my internship, the artifacts were being saved on the Jenkins master for a…
Working With VM Arguments as a Co-op Student
Stereotypically, interns are known to receive the short end of the stick. Whether it’s cleaning up scrappy (and usually unimportant) parts of a project, or doing boring brain-dead tasks that the full-time members are too busy to do, the work that we interns tend to receive is usually viewed as miscellaneous housework. Two weeks into…
OpenJ9 Internship: Auto detection and Web Projects
This post describes my winter 2019 internship in the Eclipse OpenJ9 team. At the time of writing, I am a second-year computer science student at the University of Waterloo. This was my first co-op term, so I was excited to utilize the knowledge learned from university in a real-world programming project. The first part of…