Non Product Build

From Apache OpenOffice Wiki
Revision as of 14:40, 14 April 2010 by ErAck (Talk | contribs)

Jump to: navigation, search

A so-called Non-Product Build of is one that contains a lot of additional diagnostics and debug code, which is available in this special mode only. Such a build is usually larger and slower than an ordinary Product Build (which basically means: every build you ever downloaded from, but is very useful for developers.

Currently, Non-Product Builds are probably rarely used outside the Hamburg development team. This might be because the facilities are not widely known. However, creation of a non-product build is simple, the developers welcome reports of raised assertions, and the debug options window lets you control your level of annoyance.

By default, an build is a Product Build, i.e. ready for release after completion. Non-Product Builds are created using the --enable-dbgutil switch during configure.

The most visible feature of Non-Product Builds are so-called assertions - Basically message boxes popping up, and saying that something went not the way the developer expected it to go. Such assertions are considered bugs, and as such should be reported in IssueZilla, with the summary starting with "ASSERT:" or "ERROR:" (since ERROR: is used by most of the assertion message boxes themself).

To use (or do QA for) the additional debug features: just run OO.o, and when it's in full-flow, press <Alt>-<Shift>-<Control> 'D' in that order; this should popup a debugging options window:

Vcl debug options.png

The debugging options are subsequently saved to the .dbgsv.ini file for the next run (you can control the location of that with e.g. export DBGSV_INIT=$(HOME)/.dbgsv.init). This ini file previously was a binary file, but became human-readable with the integration of CWS gslpatches07 into SRC680_m158, which contained the patch from issue 52821.

Try the help integrated into the debugging options window to see what features it offers.

For available tools in non-product builds, have a look at the various DBG_foo macros in tools/debug.hxx, or, if you already are knowledgeable about this, let others participate by writing your knowledge down here.

Personal tools