Consolidating debugging levels (via Easy Hacks)

Bjoern Michaelsen bjoern.michaelsen at canonical.com
Tue May 26 12:56:28 PDT 2015


Hi,

On Tue, May 26, 2015 at 02:18:11PM +0000, Juergen Funk Mailinglist wrote:
> i think we have 4 levels
> - level 0: release build (--enable-release-build)
> - level 1: additional debug code, but binary compatible with level 0 (same
>            library interface, comparable to OSL_DEBUG_LEVEL = 1) (--enable-symbols)
> - level 2: additional debug code, binary incompatible with level 1 and 2 (aka DBG_UTL) (--enable-dbgutil)
> 
> But i miss the --enable-debug that is between level 1 and 2, it is incombatible with level 0 and 1 and a little bit near to level 2 (but without the dgbutil stuff) 

not quite:
--enable-release-build is mostly relevant for Winodws: if not set, it does a
dev build, which has different install paths and registry entries. It doesnt
change anything about additional debug code.

--enable-symbols Doesnt change anything about additional debug code. It just
enables creating symbols to allow debugging, but nothing else.

--enable-debug Has debug symbols just like --enable-symbols and in addition
disables optimizations an inlining and enables assertations.

--enable-selective-debuginfo= allows --enable-debug for specific modules.

running "make debug=T" or "make gb_DEBUGLEVEL=1":
- set the OSL_DEBUG_LEVEL define to 1 and thus enable some additional code
- does undefine the OPTIMIZE define and thus disables some optimization
- should still be compatible
- plus the --enable-debug stuff 

finally --enable-dbgutil does enable all of the additional "#ifdef DBG_UTIL"
stuff. So the only things that really run additional code are debug=T and
DBG_UTIL.

see also: https://wiki.documentfoundation.org/Development/How_to_debug

If there is anything missing/outdated from the wiki-page, feel free to update.

Best,

Bjoern


More information about the LibreOffice mailing list