summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/doxygen.md74
1 files changed, 73 insertions, 1 deletions
diff --git a/src/doxygen.md b/src/doxygen.md
index ee87e71..9a9d726 100644
--- a/src/doxygen.md
+++ b/src/doxygen.md
@@ -97,6 +97,78 @@ For doxygen specific concepts the following subclasses are available
Finally the data for members of classes, namespaces, and files is stored in
the subclass MemberDef.
+Producing debug output
+----------------------
+
+Within doxygen there are a number of ways to obtain debug output. Besides the
+invasive method of putting print statements in the code there are a number of
+easy ways to get debug information.
+
+- Compilation of `.l` files<br>
+ This is also an invasive method but it will be automatically done by the
+ `flex / lex` command. The result is that of each input line the (lex) rule(s)
+ that are applied on it are shown.
+ - windows
+ - in the Visual C++ GUI
+ - find the required `.l` file
+ - select the `Properties` of this file
+ - set the item `Write used lex rules` to `Yes`
+ - see to it that the `.l` file is newer than the corresponding `.cpp` file
+ or remove the corresponding `.cpp` file
+ - unices
+ - global change<br>
+ In the chapter "Doxygen's internals" a `perl` script is given to toggle the
+ possibility of having the rules debug information.
+ - command line change<br>
+ It is possible to the option `LEX="flex -d"` with the `make` command on the
+ command line. In this case the `.l` that are converted to the corresponding
+ `.cpp` files during this `make` get the rules debug information.<br>
+ To undo the rules debug information output just recompile the file with
+ just `make`.<br>
+ Note this method applies for all the `.l` files that are rebuild to `.cpp`
+ files so be sure that only the `.l` files(s) of which you want to have the
+ rules debug information is (are) newer than the corresponding `.cpp`
+ file(s).
+- Running doxygen<br>
+ During a run of doxygen it is possible to specify the `-d` option with the
+ following possibilities (each option has to be preceded by `-d`):
+ - findmembers<br>
+ Gives of global, class, module members its scope, arguments and other relevant information.
+ - functions<br>
+ Gives of functions its scope, arguments and other relevant information.
+ - variables<br>
+ Gives of variables its scope and other relevant information.
+ - classes<br>
+ Gives of classes en modules its scope and other relevant information.
+ - preprocessor<br>
+ Shows the results of the preprocessing phase, i.e. results from include files,
+ <tt>\#define</tt> statements etc., definitions in the doxygen configuration file like:
+ `EXPAND_ONLY_PREDEF`, `PREDEFINED` and `MACRO_EXPANSION`.
+ - commentcnv<br>
+ Shows the results of the comment conversion, the comment conversion does the
+ following:
+ - It converts multi-line C++ style comment blocks (that are aligned)
+ to C style comment blocks (if `MULTILINE_CPP_IS_BRIEF` is set to `NO`).
+ - It replaces aliases with their definition (see `ALIASES`)
+ - It handles conditional sections (<tt>\\cond ... \\endcond</tt> blocks)
+ - commentscan<br>
+ Will print each comment block before and after the comment is interpreted by
+ the comment scanner.
+ - printtree<br>
+ Give the results in in pretty print way, i.e. in an XML like way with each
+ level indented by a `"."` (dot).
+ - time<br>
+ Provides information of the different stages of the doxygen process.
+ - extcmd<br>
+ Shows which external commands are executed and which pipes are opened.
+ - markdown<br>
+ Will print each comment block before and after Markdown processing.
+ - filteroutput<br>
+ Gives the output of the output as result of the filter command (when a filter
+ command is specified)
+ - validate<br>
+ Currently not used
+
Producing output
----------------
@@ -121,7 +193,7 @@ Topics TODO
- comment conversion
- comment scanner
- markdown processor
- - doc tokeninzer
+ - doc tokenizer
- doc parser
- doc visitors
- Diagrams and Images