11. TortoiseHg のデバッグ

11.1. ダイアログ

標準エラー出力はプログラムの終了時点でバッファに補足されます。 何らかの深刻なエラーが標準エラー出力で見つかった場合、ユーザがバグを報告できるように そのすべての内容がバグレポートツールに送信されます。 出力されていないエラーがあるかもしれない場合は環境変数 THGDEBUG を設定して 標準エラー出力のバッファリングを無効化してください。

多少 Python の経験があれば:

hgtk --debugger <command>

を使うこともできます。

hgtk によるダイアログ用の別プロセス生成を無効にするには環境変数 THG_HGTK_SPAWN を設定するか、コマンドラインから '--nofork' オプションを使って起動してください。

11.1.1. Windows

例えばチェンジログビューアをデバッグする場合、コマンドプロンプト (cmd.exe) を起動してリポジトリに移動し、次のコマンドを実行してください:

set THGDEBUG=1
hgtk log

11.1.2. Linux または MacOSX

例えばチェンジログビューアをデバッグする場合、ターミナルでリポジトリに移動し、 次のコマンドを実行してください:

export THGDEBUG=1
hgtk log

11.2. シェル拡張

デバッグ方法はプラットフォームに依存します。

11.2.1. Windows エクスプローラ

https://msdn.microsoft.com/en-us/library/cc144064(VS.85).aspx に Windows シェル拡張を実行・デバッグするための情報が掲載されています。

SysInternals による DbgView ツールはシェル拡張からのデバッッグ情報を 補足することができます。

ThgTaskbar アプリケーションの設定ダイアログにはエラーログが表示される タブがあります。このダイアログを開いた状態でエクスプローラを使ってリポジトリを 閲覧すると各種デバッグメッセージを取得することができます。

11.2.2. Nautilus ファイルマネージャ

環境変数 DEBUG_THG を設定して、

  • 個別のプロセスをテストします:

    DEBUG_THG=Ne TMPDIR=/tmp/anydir/ --no-desktop nautilus [path]
    
  • メインインスタンスをテストします:

    nautilus -q
    DEBUG_THG=NOe nautilus
    
  • 常にデバッグ状態で起動したい場合は環境変数 DEBUG_THG をセッション開始と共に 読み込まれる設定ファイル (~/.profile, ~/.xprofile など) に設定してください。

Upper case characters in DEBUG_THG specify modules. Only O and N for OverlayCache and Nautilus, respecively, are supported module names. Lower case characters imply parts. Only e is supported, implying error messages.

Nautilus を再起動は次のどちらかの方法で可能です:

  1. すべての Nautilus プロセスを削除する (セッションが自動的に Nautilus を再起動し、標準入出力先は ~/.xsession-errors)
  2. コマンドラインから nautilus -q; nautilus を実行 (標準入出力先はコンソール)