aboutsummaryrefslogtreecommitdiffstats
path: root/docs/pdGuideDB/pdguide.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'docs/pdGuideDB/pdguide.adoc')
-rw-r--r--docs/pdGuideDB/pdguide.adoc50
1 files changed, 50 insertions, 0 deletions
diff --git a/docs/pdGuideDB/pdguide.adoc b/docs/pdGuideDB/pdguide.adoc
new file mode 100644
index 000000000..dcbcfc331
--- /dev/null
+++ b/docs/pdGuideDB/pdguide.adoc
@@ -0,0 +1,50 @@
+= The AspectJ^TM^ Problem Diagnosis Guide
+
+:doctype: book
+
+_by the AspectJ Team_
+
+_Copyright (c) 2006 IBM Corporation and others. 2006 Contributors. All rights reserved._
+
+This guide describes how to configure the AspectJ compiler/weaver to provide
+information for diagnosing problems in the input programs, the
+compiler/weaver or its configuration.
+
+The AspectJ compiler and weaver can provide lots of information for diagnosing
+problems in building AspectJ programs. For problems in the input program,
+there are a number of default warning and error messages, as well as many
+configurable "lint" messages, all of which can be emitted normally,
+logged using standard facilities, or intercepted programmatically.
+These are discussed in xref:messages.adoc#messages[Messages]. Since most errors
+relate to writing pointcuts incorrectly, there is a section on
+xref:pointcuts.adoc#pointcuts[Debugging Pointcuts].
+
+For problems with the compiler/weaver itself there are three facilities
+that enable the AspectJ developers to resolve bugs even when it is
+too hard to deliver a reproducible test case:
+
+* xref:trace.adoc#trace[Tracing] can be enabled to track progress up to the time of a failure;
+* xref:ajcore.adoc#ajcore[AspectJ Core Files] can give a relatively complete picture of the state of
+ the world at the time of a failure; and
+* xref:ltwdump.adoc#ltwdump[Dumping classes during load-time weaving] is a way to capture both input and output classes during load-time weaving.
+
+This guide describes how to configure messages to get the right information
+and how to configure traces, dumps, and core files. Although the compiler/weaver
+operates in roughly three modes (from the command-line, embedded in an IDE,
+and enabled as load-time weaving), the principles are basically the same for
+all modes. The differences lie in how to set up diagnostics and what
+information is likely to be relevant.
+
+////
+ATTENTION: Please do not remove blank lines in between 'include::' statements. Otherwise, section numbers in the
+table of contents (TOC) can be wrong and the first section of each document missing completely.
+////
+include::messages.adoc[Messages]
+
+include::pointcuts.adoc[Debugging Pointcuts]
+
+include::trace.adoc[Tracing]
+
+include::ajcore.adoc[AspectJ Core Files]
+
+include::ltwdump.adoc[Dumping classes during load-time weaving]