Skip to content

Commit 03c41c8

Browse files
authored
Update README.md
1 parent 80ef4a7 commit 03c41c8

File tree

1 file changed

+29
-8
lines changed

1 file changed

+29
-8
lines changed

README.md

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,36 @@
1-
# 3rd year Dissertation Project - University of Manchester
1+
# JNI Exception Capturing Agent for Production Debugging - BSc Dissertation Project - University of Manchester
22

3-
The commencement of a C JNI Agent, designed to recursively capture the values of objects within methods on a stack trace.
3+
## Overview
4+
This repository contains the implementation of a C JNI Agent designed to recursively capture the values of objects within methods on a stack trace.
45

5-
To use, it is necessary to install the libxml2 library, as well as Jansson, crypto, and openssl.
6+
## Prerequisites
7+
To utilize this agent, you need to install the following libraries:
8+
- `libxml2`
9+
- `Jansson`
10+
- `crypto`
11+
- `openssl`
612

7-
The resulting library files can be incorporated using the -agentpath flag in the java command.
13+
## Installation and Usage
14+
1. **Building the JNI Agent**:
15+
Compile the JNI agent and generate the library files.
16+
17+
2. **Running with Java**:
18+
Incorporate the resulting library files using the `-agentpath` flag in the Java command.
819

9-
This agent interacts with a basic Scala Spray server, which records the captured values in MongoDB. To configure the server, modify the src/main/resources/application.conf file accordingly, then build and execute it using sbt run.
20+
## Scala Spray Server Integration
21+
This agent interfaces with a basic Scala Spray server to record captured values in MongoDB.
1022

11-
Additionally, a FuelPHP dashboard is utilized, which communicates with the Scala Spray server to present the analysis results. Ensure you perform a composer install to set it up.
23+
### Configuration
24+
- Modify the `src/main/resources/application.conf` file to configure the server settings.
25+
- Build and run the server using `sbt run`.
1226

13-
It is important to note that this implementation is not stable, secure, or optimized, as it serves as a minimum viable product (MVP). However, you can extract relevant code snippets from it, particularly those demonstrating communication with the JNE.
27+
## FuelPHP Dashboard
28+
A FuelPHP dashboard is used to display the analysis results by communicating with the Scala Spray server.
1429

15-
Please bear in mind that this project was an experimental endeavor conducted at the university level.
30+
### Setup
31+
- Perform `composer install` to set up the FuelPHP dashboard.
32+
33+
## Note
34+
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.
35+
36+
## Disclaimer

0 commit comments

Comments
 (0)