diff options
author | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-10-29 15:13:19 +0200 |
---|---|---|
committer | Fabian Meumertzheim <fabian@meumertzhe.im> | 2021-11-18 11:13:53 +0100 |
commit | da956b75955060616bde0a8e1fc3ba9b1620aa05 (patch) | |
tree | c77b2f0dd31e73ca3af0beacff7726e22b3d38fe /agent | |
parent | 70e9992f37217426952ff48c952bc95e8fc56e34 (diff) | |
download | jazzer-api-da956b75955060616bde0a8e1fc3ba9b1620aa05.tar.gz |
Print generated code when JAZZER_AUTOFUZZ_DEBUG is set
Diffstat (limited to 'agent')
-rw-r--r-- | agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java index 75f2b327..8c344621 100644 --- a/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java +++ b/agent/src/main/java/com/code_intelligence/jazzer/autofuzz/FuzzTarget.java @@ -40,6 +40,7 @@ public class FuzzTarget { private static Map<Executable, Class<?>[]> throwsDeclarations; private static Set<SimpleGlobMatcher> ignoredExceptionMatchers; private static long executionsSinceLastInvocation = 0; + private static AutofuzzCodegenVisitor codegenVisitor; public static void fuzzerInitialize(String[] args) { if (args.length == 0 || !args[0].contains("::")) { @@ -178,6 +179,9 @@ public class FuzzTarget { } public static void fuzzerTestOneInput(FuzzedDataProvider data) throws Throwable { + if (Meta.isDebug()) { + codegenVisitor = new AutofuzzCodegenVisitor(); + } Executable targetExecutable; if (FuzzTarget.targetExecutables.length == 1) { targetExecutable = FuzzTarget.targetExecutables[0]; @@ -187,11 +191,14 @@ public class FuzzTarget { Object returnValue = null; try { if (targetExecutable instanceof Method) { - returnValue = Meta.autofuzz(data, (Method) targetExecutable, null); + returnValue = Meta.autofuzz(data, (Method) targetExecutable, codegenVisitor); } else { - returnValue = Meta.autofuzz(data, (Constructor<?>) targetExecutable, null); + returnValue = Meta.autofuzz(data, (Constructor<?>) targetExecutable, codegenVisitor); } executionsSinceLastInvocation = 0; + if (codegenVisitor != null) { + System.err.println(codegenVisitor.generate()); + } } catch (AutofuzzConstructionException e) { if (Meta.isDebug()) { e.printStackTrace(); |