You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1//EN"
  3. "../../lib/docbook/docbook-dtd/docbookx.dtd"
  4. [
  5. <!ENTITY messages SYSTEM "messages.xml">
  6. <!ENTITY pointcuts SYSTEM "pointcuts.xml">
  7. <!ENTITY trace SYSTEM "trace.xml">
  8. <!ENTITY ajcore SYSTEM "ajcore.xml">
  9. <!ENTITY ltwdump SYSTEM "ltwdump.xml">
  10. ]>
  11. <book>
  12. <bookinfo>
  13. <title>The AspectJ<superscript>tm</superscript> Problem Diagnosis Guide</title>
  14. <authorgroup>
  15. <author>
  16. <othername>the AspectJ Team</othername>
  17. </author>
  18. </authorgroup>
  19. <legalnotice>
  20. <para>Copyright (c) 2006 IBM Corporation and others.
  21. 2006 Contributors.
  22. All rights reserved.
  23. </para>
  24. </legalnotice>
  25. <abstract>
  26. <para>
  27. This guide describes how to configure the AspectJ compiler/weaver to provide
  28. information for diagnosing problems in the input programs, the
  29. compiler/weaver or its configuration.
  30. </para>
  31. <para>
  32. The AspectJ compiler and weaver can provide lots of information for diagnosing
  33. problems in building AspectJ programs. For problems in the input program,
  34. there are a number of default warning and error messages, as well as many
  35. configurable "lint" messages, all of which can be emitted normally,
  36. logged using standard facilities, or intercepted programmatically.
  37. These are discussed in <xref linkend="messages"/>. Since most errors
  38. relate to writing pointcuts incorrectly, there is a section on
  39. <xref linkend="pointcuts"/>.
  40. </para>
  41. <para>
  42. For problems with the compiler/weaver itself there are three facilities
  43. that enable the AspectJ developers to resolve bugs even when it is
  44. too hard to deliver a reproducible test case:
  45. <orderedlist>
  46. <listitem><para><xref linkend="trace"/> can be enabled to track progress up to the time of a failure;</para></listitem>
  47. <listitem><para><xref linkend="ajcore"/> can give a relatively complete picture of the state of
  48. the world at the time of a failure; and </para></listitem>
  49. <listitem><para><xref linkend="ltwdump"/> is a way to capture both
  50. input and output classes during load-time weaving.
  51. </para></listitem>
  52. </orderedlist>
  53. </para>
  54. <para>
  55. This guide describes how to configure messages to get the right information
  56. and how to configure traces, dumps, and core files. Although the compiler/weaver
  57. operates in roughly three modes (from the command-line, embedded in an IDE,
  58. and enabled as load-time weaving), the principles are basically the same for
  59. all modes. The differences lie in how to set up diagnostics and what
  60. information is likely to be relevant.
  61. </para>
  62. </abstract>
  63. </bookinfo>
  64. &messages;
  65. &pointcuts;
  66. &ajcore;
  67. &trace;
  68. &ltwdump;
  69. </book>