Internships
Register
Copyright © 2000—2026 JetBrains s.r.o.

Showing the Return Value on Method Exit Breakpoints in the Java Debugger

Description

The JVM debugger interface provides an API to set method exit breakpoints and retrieve a return value when such a breakpoint is hit. However, these breakpoints lead to significant performance degradation in the debuggee application. Because of this, IntelliJ IDEA introduced emulated method breakpoints implemented using regular breakpoints. Unfortunately, access to the return value information was lost for such breakpoints.

Your task is to eliminate this limitation and make it possible to obtain return values for emulated method exit breakpoints. You will study how emulated method breakpoints are implemented and why scanning a method's bytecode is required for this. Then, you will develop a new approach based on multi-stage breakpoints that enables the debugger to finally retrieve return values (IDEA-385867).

Requirements

  • Currently pursuing or recently graduated with a degree in Computer Science or a related field.

  • Programming experience in Java, Kotlin, or a similar language.

Nice to have:

  • Experience with systems programming (compilers, interpreters, debuggers).

Location:

  • The internship will take place in Munich. Contact us if you have any questions about it.

Admission

Internship Projects Fall 2026

Contact details

internship@jetbrains.com

Preferred internship location

Germany

Technologies

Java
JVM
Kotlin

Area

Development

Internship timing preferences

Flexible start
Part-time acceptable

Candidate graduation status

Final-year students preferred
Applications by 08.05.2026
Interview by 30.05.2026
Feedback and final results by 12.06.2026