BSc Dissertation Project - University of Manchester - JNI Exception Capturing Agent for Production Debugging
This repository contains the implementation of a C JNI Agent designed to recursively capture the values of objects within methods on a stack trace.
To utilize this agent, you need to install the following libraries:
libxml2
crypto
openssl
-
Building the JNI Agent: Compile the JNI agent and generate the library files.
-
Running with Java: Incorporate the resulting library files using the
-agentpath
flag in the Java command.
This agent interfaces with a basic Scala Spray server to record captured values in MongoDB.
- Modify the
src/main/resources/application.conf
file to configure the server settings. - Build and run the server using
sbt run
.
A FuelPHP dashboard is used to display the analysis results by communicating with the Scala Spray server.
- Perform
composer install
to set up the FuelPHP dashboard.
This implementation serves as a Minimum Viable Product (MVP). It is not stable, secure, or optimized. However, relevant code snippets, especially those demonstrating communication with the JNI, can be extracted and used.
This was academic research and no guarantees or maintenance are provided.