Debugging a JAsCo-Enabled Application

JAsCoDT provides two methods for debugging JAsCo-enabled applications: runtime introspection of connectors and static join point lookup.

Runtime Introspection

JAsCo is a dynamic AOP approach as it allows to add, change and remove aspects from the system at runtime. This kind of functionality is often required for business-oriented applications, as requirements tend to change often in such an environment. To this end, an introspector has been integrated within JAsCoDT which allows one to manipulate the aspectual behavior of the application at runtime. Using this introspector, developers are able to determine at runtime which aspects are loaded into the system.

Browse to one of the connectors specified in the system. Activate the introspector by going to JAsCoIntrospector. The introspector view should open, displaying the connectors found within the system. By checking the connector, one is able to activate or deactivate the connector.

Static Join Point Lookup

Keeping track of which aspects are applicable at which join points (i.e. the concrete context of an aspect) is a difficult task. Therefore, as debugging support, a join point lookup feature is included in JAsCoDT which allows one to statically determine the possible concrete join points of a hook instantiation.

Browse to one of the connectors. Mark the hook for which you want to lookup the join points.

Activate the join point lookup by going to JAsCoJoin Point Lookup. The join point lookup view should open, displaying the statically retrieved join points. Double-clicking jumps to the corresponding method.