There may be cases where Java applications can not be written entirely in the Java language and usually use Java Native Interface (JNI) to access native code. Traditional Java debuggers based on the Java Platform Debugging Architecture (JPDA), such as Eclipse JDT debugger, can not satisfy all developer needs, because they do not effectively support debugging native code written in other languages, e.g., C/C++.
In this talk we will get you familiar with the approach to debugging JNI code based on a new debug interface implemented on top of Apache Harmony JVM (http://harmony.apache.org). This approach provides support for seamless debugging native methods in Java applications and access to native data. The user interface is plugged into Eclipse IDE and based on the JDT and CDT debug interfaces. We will demonstrate the new approach on basic debug scenarios.
The target audience is tools developers, Java developers.
Vitaly Provodin is a senior software engineer in Enterprise Solutions Software Division of Intel Corporation. Vitaly joined Intel in 2004. He took part in development of JPDA support in the Apache Harmony J2SE implementation. Now he is working on a support for debugging Java applications containing native code and responsible for the integration of this support into Eclipse IDE. Vitaly holds a Master degree in Applied Math from Novosibirsk State University.
Chris Elford is a principal engineer at Intel Corporation and concentrates primarily on analysis and optimization of emerging technology applications. Chris joined Intel Corporation in 1998 after receiving his Ph.D. at the University of Illinois/Urbana-Champaign (concentrating on automatic optimization of parallel file system policies). Chris started at Intel analyzing how database applications intersect the underlying platform before transitioning to a team that works to ensure that Java applications work well on Intel processor based platforms.