Hello Patrick, that's a very cool addition indeed :-) Thanks!
I'm about to integrate it here, and I have added config options for it, such that I can choose to create txmt:// links (which directly open TextMate or BBEdit code editors on my Mac with the cursor on the right line) instead of doxygen. A second config option allows to override the default base path (the one you define with SYDEBUG_LOCATION). I'll post the changes soon together with the other pending changes on my branch. Best Regards, Lukas On May 11, 2010, at 16:22 , Patrick Ohly wrote: > Hello! > > I've just pushed some experimental code to a "doxygen" branch on > moblin.org: > > commit 7d9ecc9316d12412cc72c1c41a0889dbeeeb06a2 > Author: Patrick Ohly <patrick.o...@intel.com> > Date: Tue May 11 14:12:42 2010 +0200 > > log call location of debug messages > > For someone unfamiliar with the source code, it is sometimes hard > to locate the code which produced a certain message. This patch > solves this issue like this: > - produce a fully cross-referenced HTML version of the source > with Doxygen > - extend the logging functions and macros so that each message > comes with file name, line number and function name information > - turn the time stamp in the HTML output into a link to the source > code line, with the function name as title > > The reason for picking the time stamp was that making other text a > link would interfere with the visual markup of it (color, bold, etc.). > > In such an enriched log one can: > - hover over the time stamp to see function name in a bubble help > and the URL (and thus source code location) at the bottom of the > browser window (at least in Firefox) > - click on the time stamp to jump to the source code > > Because this feature makes both the library and the logs larger, > it is turned off by default. Configure with --enable-debug-logs > to enable it when using autotools. Macro tricks are used to > produce the same code as before when the feature is off. > > Limitations: > - Without time stamp logging, no links are recorded. > - Each change in the Synthesis source code forces a complete > new run of Doxygen. This makes compilation quite a bit slower, > but the only alternative would be to accept that logs and source dump > are inconsistent in the changed parts. > - The links contain the absolute file path (making it a bit harder > to share logs and source code dumps). > - The TClientEngineInterface::debugPuts() API introduced for and used > by SyncEvolution leads to links which contain the wrong absolute > path to the Doxygen HTML files (inside libsynthesis instead of > SyncEvolution). > - The "prefix" parameter in that same API is still ignored. > > You can an example of an extended log and the corresponding Doxygen > files here: > http://downloads.syncevolution.org/tmp/synthesis-html.tar.gz > > Unpack it in /tmp, then point your web browser to > file:///tmp/home/pohly/.cache/syncevolution/scheduleworld...@client_+test_+1-2010-05-11-14-04/syncevolution-log.html > > Is that something that would be acceptable for core libsynthesis? I find > it useful as it is, despite the limitations. > > -- > Best Regards, Patrick Ohly > > The content of this message is my personal opinion only and although > I am an employee of Intel, the statements I make here in no way > represent Intel's position on the issue, nor am I authorized to speak > on behalf of Intel on this matter. > > > > _______________________________________________ > os-libsynthesis mailing list > os-libsynthesis@synthesis.ch > http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis Lukas Zeller (l...@synthesis.ch) - Synthesis AG, SyncML Solutions & Sustainable Software Concepts i...@synthesis.ch, http://www.synthesis.ch _______________________________________________ os-libsynthesis mailing list os-libsynthesis@synthesis.ch http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis