Arion 1.0.2-alpha
A high-performance C++ framework for emulating executable binaries.
 
Loading...
Searching...
No Matches
code_tracer.hpp File Reference
#include <arion/common/global_defs.hpp>
#include <arion/common/hooks_manager.hpp>
#include <arion/common/memory_manager.hpp>
#include <fstream>
#include <iosfwd>
#include <memory>
#include <string>

Go to the source code of this file.

Classes

struct  arion::CODE_HIT
 
struct  arion::TRACER_MAPPING
 Stores general data over a memory mapping to be stored in the output trace file. More...
 
class  arion::CodeTracer
 This class is used to perform tracing operations over an Arion emulation and store the result in a dedicated file. More...
 

Namespaces

namespace  arion
 

Macros

#define ARION_MAX_LIGHT_HITS   1024
 For a "light" TRACE_MODE, size at which the hits list should be flushed in the output trace file.
 
#define ARION_MAX_HEAVY_HITS   64
 For a "heavy" TRACE_MODE, size at which the hits list should be flushed in the output trace file.
 

Enumerations

enum  arion::TRACE_MODE : uint8_t {
  arion::INSTR , arion::CTXT , arion::BLOCK , arion::DRCOV ,
  arion::UNKNOWN
}
 These modes are used to configure the output file format. More...
 

Variables

const char arion::TRACER_FILE_MAGIC [] = "ARIONTRC"
 Magic string for headers of Arion tracer files.
 
const float arion::TRACER_FILE_VERSION = 1.0
 Version number of Arion tracer file format.
 
const uint16_t arion::TRACER_FILE_HEADER_SIZE = 0x28
 Header size of Arion tracer files.
 

Macro Definition Documentation

◆ ARION_MAX_HEAVY_HITS

#define ARION_MAX_HEAVY_HITS   64

For a "heavy" TRACE_MODE, size at which the hits list should be flushed in the output trace file.

◆ ARION_MAX_LIGHT_HITS

#define ARION_MAX_LIGHT_HITS   1024

For a "light" TRACE_MODE, size at which the hits list should be flushed in the output trace file.