1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
Debugging
==========
.. module:: debugging
:synopsis: Debug problems in shell extension or dialogs
Dialogy
-------
Stderr je zachycen v bufferu, který je prohlížen při ukončení programu. Je-li v bufferu nalezena jakákoliv vážná chyba (tracebacky, atp), je celý jeho obsah poslán do nástroje pro hlášení chyb a uživatel má možnost chybu hlásit. Máte-li podezření, že se vyskytly nezaznamenané chyby, můžete nastavit proměnnou prostředí **THGDEBUG** na jakoukoliv hodnotu, čímž vyřadíte ukládání stderr do bufferu.
Máte-li elementární znalost Pythonu, můžete také použít::
thg --debugger <command>
Chcete-li vyřadit dělení nástrojem thg, můžete buď zadat proměnnou prostředí **THG_HGTK_SPAWN**, nebo přidat parametr k CLI příkazu '--nofork'.
Windows
~~~~~~~
Pro odstranění závad např. ve Verpánku, zadejte tyto příkazy do konzoly `cmd.exe`, nacédované do repozitáře::
set THGDEBUG=1
thg --nofork log
Linux/MacOSX
~~~~~~~~~~~~
Podobně jako ve Windows::
export THGDEBUG=1
thg --nofork log
Extenze shellu
---------------
Způsob odladění závisí na platformě.
Windows
~~~~~~~
Viz také `Debugging with the shell <https://msdn.microsoft.com/en-us/library/cc144064(VS.85).aspx>`_ kde jsou informace o spuštění a testování extenzí shellu ve Windows.
Nástroj :command:`DbgView` ze sady SysInternals odchytí chybovou zprávu
z extenze shellu. Shell ovšem ladící informace neemituje implicitně. Je nutné to povolit editací klíče registru, definovaného v
:file:`win32/shellext/DebugShellExt.reg`
v repozitáři TortoiseHg. Dvojklikem na souboru můžete načíst klíč do svého registru.
Jinou možností je opustit aplikaci :command:`ThgTaskbar` a spustit ji z příkazového řádku. Ladící informace jsou potom emitovány v otevřené konzole.
Nautilus
~~~~~~~~
Ladění se provádí prostřednictvím proměnné DEBUG_THG
* pro testování v odlišném procesu::
DEBUG_THG=Ne TMPDIR=/tmp/anydir/ --no-desktop nautilus [path]
* pro testování v hlavní instanci::
nautilus -q
DEBUG_THG=NOe nautilus
* pro permanentní ladění zadejte DEBUT_THG v souboru, který je načítán při spuštění seance (~/.profile, ~/.xprofile)
Velká písmena v DEBUG_THG označují moduly. Pouze *O* a *N*
u *OverlayCache* a *Nautilus*, jsou podporované názvy modulů. Malá písmena označují části. Podporováno je pouze *e*, označující *chybové* zprávy.
Pro restartování nautilus použijte buď
1) killall nautilus (seance restartuje nautilus automaticky, stdin a stdout jdou do ~/.xsession-errors)
2) nautilus -q; nautilus (stdin a stdout jsou v konzole)
|