logging and reporting
This commit is contained in:
parent
920a996d95
commit
712ac137d7
@ -4,10 +4,10 @@ use core::time::Duration;
|
||||
use std::{env, path::PathBuf, process::{self, abort}, io::{Read, Write}, fs::{self, OpenOptions}, cmp::{min, max}, mem::transmute_copy, collections::btree_map::Range, ptr::addr_of_mut, ffi::OsStr};
|
||||
use hashbrown::HashMap;
|
||||
use libafl_bolts::{
|
||||
core_affinity::Cores, ownedref::OwnedMutSlice, rands::StdRand, shmem::{ShMemProvider, StdShMemProvider}, tuples::tuple_list, AsSlice
|
||||
core_affinity::Cores, ownedref::OwnedMutSlice, rands::StdRand, shmem::{ShMemProvider, StdShMemProvider}, tuples::tuple_list, AsSlice, SimpleStderrLogger
|
||||
};
|
||||
use libafl::{
|
||||
common::{HasMetadata, HasNamedMetadata}, corpus::{Corpus, InMemoryCorpus, OnDiskCorpus}, events::{launcher::Launcher, EventConfig}, executors::ExitKind, feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MaxMapFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{multi::MultipartInput, BytesInput, HasTargetBytes, Input}, monitors::MultiMonitor, observers::{CanTrack, VariableMapObserver}, prelude::{havoc_mutations, minimizer::TopRatedsMetadata, CorpusId, Generator, HitcountsMapObserver, RandBytesGenerator, SimpleEventManager, SimpleMonitor, SimpleRestartingEventManager, StdScheduledMutator}, schedulers::QueueScheduler, stages::StdMutationalStage, state::{HasCorpus, StdState}, Error, Evaluator
|
||||
common::{HasMetadata, HasNamedMetadata}, corpus::{Corpus, InMemoryCorpus, OnDiskCorpus}, events::{launcher::Launcher, EventConfig}, executors::ExitKind, feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MaxMapFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{multi::MultipartInput, BytesInput, HasTargetBytes, Input}, monitors::MultiMonitor, observers::{CanTrack, VariableMapObserver}, prelude::{havoc_mutations, minimizer::TopRatedsMetadata, CorpusId, Generator, HitcountsMapObserver, RandBytesGenerator, SimpleEventManager, SimpleMonitor, SimplePrintingMonitor, SimpleRestartingEventManager, StdScheduledMutator}, schedulers::QueueScheduler, stages::StdMutationalStage, state::{HasCorpus, StdState}, Error, Evaluator
|
||||
};
|
||||
use libafl_qemu::edges::EDGES_MAP_SIZE_IN_USE;
|
||||
use libafl_qemu::{
|
||||
@ -32,6 +32,7 @@ use crate::cli::Cli;
|
||||
use crate::cli::Commands;
|
||||
use crate::cli::set_env_from_config;
|
||||
use clap::Parser;
|
||||
use log;
|
||||
|
||||
// Constants ================================================================================
|
||||
|
||||
@ -158,6 +159,8 @@ macro_rules! do_dump_toprated {
|
||||
|
||||
#[allow(unused)]
|
||||
pub fn fuzz() {
|
||||
log::set_max_level(log::LevelFilter::Info);
|
||||
SimpleStderrLogger::set_logger().unwrap();
|
||||
let cli = Cli::parse();
|
||||
set_env_from_config(&cli.kernel, &cli.config);
|
||||
unsafe {FUZZ_START_TIMESTAMP = SystemTime::now();}
|
||||
@ -494,7 +497,7 @@ let run_client = |state: Option<_>, mut mgr, _core_id| {
|
||||
// Setup an havoc mutator with a mutational stage
|
||||
let mutator = StdScheduledMutator::new(mutations);
|
||||
|
||||
let stages = ();
|
||||
let stages = (systemstate::report::SchedulerStatsStage::default(),());
|
||||
let mut stages = (StdMutationalStage::new(mutator), stages);
|
||||
#[cfg(feature = "fuzz_int")]
|
||||
let mut stages = (InterruptShiftStage::new(), stages);
|
||||
@ -649,7 +652,7 @@ let run_client = |state: Option<_>, mut mgr, _core_id| {
|
||||
|
||||
#[cfg(feature = "singlecore")]
|
||||
{
|
||||
let monitor = SimpleMonitor::new(|s| println!("{}", s));
|
||||
let monitor = SimplePrintingMonitor::new();
|
||||
#[cfg(not(feature = "restarting"))]
|
||||
{
|
||||
let mgr = SimpleEventManager::new(monitor);
|
||||
|
@ -45,14 +45,14 @@ where
|
||||
state: &mut <Self as UsesState>::State,
|
||||
_manager: &mut EM,
|
||||
) -> Result<(), Error> {
|
||||
let Some(corpus_idx) = state.current_corpus_id()? else {
|
||||
return Err(Error::illegal_state(
|
||||
"state is not currently processing a corpus index",
|
||||
));
|
||||
};
|
||||
// let Some(corpus_idx) = state.current_corpus_id()? else {
|
||||
// return Err(Error::illegal_state(
|
||||
// "state is not currently processing a corpus index",
|
||||
// ));
|
||||
// };
|
||||
|
||||
|
||||
let corpus_size = state.corpus().count();
|
||||
// let corpus_size = state.corpus().count();
|
||||
|
||||
let cur = current_time();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user