package debug
Tools which help to debug OPAL as such.
E.g., it is possible to run the abstract interpreter for an arbitrary method to analyze the respective result.
- Alphabetic
- By Inheritance
- debug
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
class
ConfigurableXHTMLTracer extends XHTMLTracer
The standard XHTML tracer which optionally generates some output.
-
trait
ConsoleEvaluationTracer extends AITracer
A tracer that primarily prints out the evaluation order of the instructions on the console.
A tracer that primarily prints out the evaluation order of the instructions on the console. This tracer is particularly useful to understand the handling of JSR/RET instructions.
If you want to reuse this tracer to trace evaluations of different methods you should call the
resetmethod between two calls.Thread Safety
This tracer has internal state that is dependent on the state of the evaluation. Hence, this class is not thread safe and a new
AIinstance should be used per method that is analyzed. -
trait
ConsoleTracer extends AITracer
A tracer that prints out a trace's results on the console.
- case class FlowEntity(pc: Int, instruction: Instruction, operands: Operands[_ >: Null <: ai.Domain.DomainValue], locals: Locals[_ >: Null <: ai.Domain.DomainValue], properties: Option[String]) extends Product with Serializable
-
class
InterpretMethodsAnalysis[Source] extends Analysis[Source, BasicReport]
An analysis that analyzes all methods of all class files of a project using a custom domain.
-
trait
XHTMLTracer extends AITracer
A tracer that generates an HTML document.
Value Members
-
object
ClassHierarchyVisualizer
Creates a
dot(Graphviz) based representation of the class hierarchy of the specified jar file(s). - object FlowEntity extends Serializable
-
object
InterpretMethod
A small basic framework that facilitates the abstract interpretation of a specific method using a configurable domain.
-
object
InterpretMethods extends AnalysisApplication
Performs an abstract interpretation of all methods of the given class file(s) using a configurable domain.
Performs an abstract interpretation of all methods of the given class file(s) using a configurable domain.
This class is meant to support the development and testing of new domains.
- object InterpretMethodsAnalysis
-
object
PrintBaseCFG
Prints the CFG of a method using a data-flow independent analysis.
-
object
ShowConfiguration
Prints the current explicit (application.conf/reference.conf files) and implicit configuration settings (java.security, environment).
Prints the current explicit (application.conf/reference.conf files) and implicit configuration settings (java.security, environment). To show the explicit configuration use "-config" as a parameter.
Information that is shown:
- the set of restricted packages configured by the JRE if a
SecurityManageris installed. Note that thepackage.definitionproperty is by default not checked by any class loader. Hence, it is not safe to leverage this information. - packages with access restrictions (package.access property); a security exception will be
thrown when a class is a respective package is accessed (
checkPackageAccess) unless the corresponding RuntimePermission ("accessClassInPackage."+package) has been granted.
- the set of restricted packages configured by the JRE if a