Entwicklung/FAQ

    From The Document Foundation Wiki
    This page is a translated version of the page Development/FAQ and the translation is 100% complete.


    LibreOffice debuggen

    Der ausschlaggebende Schalter ist --enable-debug für autogen.sh. Siehe Development/How to debug/de für Einzelheiten und Hilfe.

    Was sagen diese #iXXXX#/fdo#XXXX/etc. Kommentare?

    Was sollen all diese Tests: Unit Tests - Belastungstests - Folgetests?

    Diese Frage wurde von Björn Michaelsen in einem Post der Mailinglist beantwortet: http://lists.freedesktop.org/archives/libreoffice/2011-March/009834.html

    Ein top-level "make check" wird zunächst einen kompletten build erstellen, dann alle Folgetests machen. Ein top-level "Folgecheck" wird stattdessen lediglich die Folgetests machen.

    Weitere Informationen zu den Unit Tests siehe hier.

    Der Belastungstest bricht ab, wie kann ich debuggen

    Wenn make dev-install oder der Bau des smoketestoo_native abbricht, dann verbleibt die Installation, die abgebrochen wurde, in

    solver/350/*/installation/opt/program/

    Der Belastungstest kann manuell gestartet werden. An den schönen grünen und roten Zellen kann abgelesen werden, was exakt schief lief.

    cd solver/350/*/installation/opt/program/
     ./swriter

    Der Sicherungsmechanismus für Makros muss abgeschaltet werden, z. Bsp. über Extras ▸ Optionen ▸ Sicherheit ▸ Makrosicherheit ▸ niedrig

    ./swriter $SRC_ROOT/smoketestdoc/*/bin/smoketestdoc.sxw

    Ein Klick auf den Button startet den Belastungstest.

    Eine andere Alternative wäre, zunächst soffice zu starten und den Belastungstest anzuweisen, sich mit einer Instanz von LibreOffice zu verbinden anstatt die Installation selbst zu starten (siehe installationtest.mk: erlaube den getesteten soffice process zu überschreiben). soffice.bin kann auch über den Debugger gestartet werden. Das einzige Problem dabei ist, dass make smoketestoo_native normalerweise soffice abhängig von cpptest in der localinstall in smoketestoo_native/makefile.mk überschreibt. Daher sollte so ungefähr das folgende funktionieren:

    make smoketestoo_native # in case no solver/*/installation yet
    sed -i 's/cpptest : localinstall/#&/' smoketestoo_native/makefile.mk
    solver/*/installation/opt/program/soffice --accept=pipe,name=mytest\;urp &
    # wait for soffice to come up, attach gdb, etc.
    OOO_TEST_SOFFICE=connect:pipe,name=mytest make smoketestoo_native
    git checkout smoketestoo_native/makefile.mk

    Ich würde gerne LibreOffice compilieren, interessiere mich aber nur für den Writer. Kann ich nur den Writer ohne den Rest übersetzen?

    Die kurze Antwort ist: Nein.

    Die lange Antwort ist, dass die einzelnen Applikationsmodule in LibreOffice (Writer, Calc, Draw, Impress, etc) viel von ihrem Code teilen, so dass der Anteil der individuellen Module lediglich 10 % des gesamten Codes ausmachen. Wenn Sie es also schaffen, einzelne dieser Apps beim Compilieren zu überspringen, verringert das die gesamte Compilierungszeit nicht entscheidend.

    Ausserdem ist die ganze Anwendung darauf ausgelegt, dass immer alle Teile vorhanden sind. Wenn also einzelne Apps nicht vorhanden sind, dann entsteht damit eventuell eine verworrene Anwendung, bei der niemand wirklich weiterhelfen kann.

    Unter Windows bricht der Compiler mit einem internen Fehler ab

    fatal error c1001: An internal error has occured in the compiler
    

    Das aktuellste Update des Visual Studio ist eingespielt.

    Die Updates können auf der Microsoft Suche eingesehen werden.