You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A small utility that allows you to grab/dump/take/get/~steal~ bytecode from a running Java Virtual Machine and save it to disk.
3
-
It has a graphical interface, several output formats, compatible with JDK 1.8+, and includes a small preloader (bootstrap) to choose the Java runtime for launch.
4
+
It has a graphical interface, several output formats, compatible with JDK 1.8+, and includes a small preloader (bootstrap) to choose the Java runtime for launch, dark and light theme.
5
+
6
+

4
7
5
8
## Usage
6
9
@@ -17,39 +20,57 @@ If the launch fails, you will see the bootstrap window again.
17
20
### Main frame
18
21
19
22
After successful launch, you will see a list of running Java virtual machines.
20
-
Select the target JVM, connect to it, then add classes you need to right-side panel using **Add to grab** button (rightmost button on left panel).
23
+
Select the target JVM, connect to it, then add classes you need to right-side panel using **Add to grab** button (rightmost button on left panel, or button in context menu of left panel).
-**Full package:** Saves each class so that its package is used as the directory path. For example, class `java.util.List` becomes `java\util\List.class`.
46
+
-**Package + Class name:** Saves each class using full package + classname as the file name. For example, class `java.util.List` becomes `java.util.List.class`.
47
+
-**Just class name:** Saves each class using only its name, provided no file with that name already exists, otherwise uses: package + class name. For example, class `java.util.List` becomes `List.class`.
48
+
49
+
After you click the **Grab** button, program will save classes you selected to selected output resource.
After saving the classes, you can disconnect from the virtual machine using the disconnect button (second button on left panel, or button in context menu of left panel)
42
57
43
-
**Full package:**
44
-
- Saves each class so that its package is used as the directory path. For example, class `java.util.List` becomes `java\util\List.class`.
- Saves each class using full package + classname as the file name. For example, class `java.util.List` becomes `java.util.List.class`.
64
+
**Context menu**
48
65
49
-
**Just class name**
50
-
- Saves each class using only its name, provided no file with that name already exists, otherwise uses: package + class name. For example, class `java.util.List` becomes `List.class`.
66
+
| Light | Dark |
67
+
|:---:|:---:|
68
+
|||
69
+
|||
70
+
|||
51
71
52
72
## Credits
73
+
jSystemThemeDetector is licensed under the Apache License 2.0, Copyright (c) 2020 Albin Coquereau.
53
74
FlatLaf is licensed under the Apache License 2.0. Copyright (c) 2019-2024 FormDev Software GmbH.
54
75
Log4j is licensed under the Apache License 2.0, Copyright (c) The Apache Software Foundation.
55
76
Gson is licensed under the Apache License 2.0, Copyright (c) 2008 Google Inc.
0 commit comments