Skip to content

Commit a248d8b

Browse files
authored
Merge pull request #2 from LewisODB/dev
Document project provenance
2 parents b31d51a + be8606e commit a248d8b

13 files changed

Lines changed: 137 additions & 27 deletions

File tree

‎.gitignore‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ hs_err_pid*
1414
/.classpath
1515
/build/*
1616
/bin/
17+
/.gradle/
1718
*.gradle/
1819
/gradle.properties
1920
/site/

‎.gradle/2.10/taskArtifacts/cache.properties‎

Lines changed: 0 additions & 1 deletion
This file was deleted.
-17 Bytes
Binary file not shown.
-77.1 KB
Binary file not shown.
-568 KB
Binary file not shown.
-18.2 KB
Binary file not shown.
-24.5 KB
Binary file not shown.

‎README.md‎

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@ Thank you for downloading the Omniscient Debugger (the ODB), the Java debugger t
33
"backwards in time" so you can examine your program's execution.
44
Also please visit the project [website](http://omniscientdebugger.github.io/)
55

6+
# Provenance
7+
8+
The Omniscient Debugger was originally written by Bil Lewis. This repository
9+
continues that work under the LewisODB organization.
10+
11+
This codebase was restarted from the community-maintained
12+
[OmniscientDebugger/LewisOmniscientDebugger](https://github.com/OmniscientDebugger/LewisOmniscientDebugger)
13+
repository, which preserved and modernized the project after the original
14+
distribution. We gratefully acknowledge that work and the contributors whose
15+
history is preserved in Git.
16+
617
# System Requirements
718
ODB 1.4 works on code complied for JDK 1.3 and 1.4. ODB 1.5 works on code compiled for JDK 1.5.
819
I have tested it on 1.6 and it works. Code compiled for Java 7 and up use invokedetatch, which seems to cause problems at the moment. See [Issue](https://github.com/OmniscientDebugger/LewisOmniscientDebugger/issues/1): The Jar's compiled for 1.6 and older do work on the 1.8 JVM.
@@ -70,7 +81,7 @@ mkdocs build --strict
7081
# Development
7182
Here is how to build and run the debug the debugger step
7283
```
73-
git clone https://github.com/OmniscientDebugger/LewisOmniscientDebugger.git
84+
git clone https://github.com/LewisODB/OmniscientDebugger.git
7485
7586
gradle jar
7687

‎docs/user-manual/index.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,8 @@ Here is a sample. All of the lines may have duplicate entires (e.g., the DontIns
289289
StartPattern:
290290
StopPattern:
291291
SourceDirectory:
292-
OnlyInstrument: "org.apache"
293-
OnlyInstrument: "fr.emn.info.eaop.cps"
292+
OnlyInstrument: "org.apache."
293+
OnlyInstrument: "fr.emn.info.eaop.cps."
294294
DontInstrument: "recoder.java.declaration.TypeDeclaration"
295295
DontInstrumentMethod: "* toString"
296296
DontInstrumentMethod: "* valueOf"
@@ -303,7 +303,7 @@ Here is a sample. All of the lines may have duplicate entires (e.g., the DontIns
303303

304304
You may request some objects to include a field value in their print string by setting the user selected field as above. The field choosen must be a primitive and must not change.
305305

306-
The ODB will write out a "`DidntInstrument/OnlyInstrument`" line for every single class loaded. This makes it easier to change the set of classes being instrumented. By default, only the classes in the package of the "main" method are instrumented.
306+
The ODB will write out a "`DidntInstrument/OnlyInstrument`" line for every single class loaded. This makes it easier to change the set of classes being instrumented. By default, only the classes in the package of the "main" method are instrumented. A trailing dot means a package prefix, such as `"java_programs."`; package-only lists let the runtime loader delegate non-matching classes to the parent loader.
307307

308308
## Finding the Source Code
309309

‎src/main/java/com/lambda/Debugger/Debugify.java‎

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ public final class Debugify implements Constants {
166166
NO_ATHROW = false, NO_CATCH = false, NO_INVOKESTATIC = false,
167167
NO_NEW = false, NO_AASTORE = false, NO_PREVIOUS = false,
168168
NO_LOCKS = false, NO_WAITS = false, DONT_REPLACE_VECTOR = false;
169-
static VectorD dontRecord, dontInstrument, instrumentOnlyPackages;
169+
static VectorD dontRecord, dontInstrument;
170170
static CodeExceptionGen[] ceg;
171171
static String classPackageName, className, classNoNumbers;
172172

@@ -291,7 +291,6 @@ public static void initialize() {
291291
// Read the file for methods not to record
292292
dontInstrument = Defaults.dontInstrument;
293293
// Read the file for methods not to instrument
294-
instrumentOnlyPackages = Defaults.instrumentOnlyPackages;
295294
}
296295

297296
public static JavaClass debugifyClass(JavaClass javaClass1,
@@ -569,24 +568,7 @@ public static JavaClass publicifyClass(JavaClass javaClass1,
569568
static boolean dontProcessPackage(String cName) {
570569
if (calledFromDebugify)
571570
return false; // If this is a direct request, do it!
572-
int len = instrumentOnlyPackages.size();
573-
if (len == 0)
574-
return false;
575-
576-
for (int i = 0; i < len; i++) {
577-
String iOnly = (String) instrumentOnlyPackages.elementAt(i);
578-
// Debugger.println("only methods: " + cName + "."+ "? startswith "
579-
// + iOnly);
580-
if (iOnly.equals("")) {
581-
int dot = cName.indexOf(".");
582-
if (dot == -1)
583-
return false;
584-
} else if (cName.startsWith(iOnly))
585-
return false;
586-
}
587-
if (!Defaults.didntInstrument.contains(cName))
588-
Defaults.didntInstrument.add(cName);
589-
return true;
571+
return Defaults.instrumentOnlyExcludes(cName, false);
590572
}
591573

592574
static boolean dontProcessMethod(VectorD cmPairs, String mName,

0 commit comments

Comments
 (0)