Merge branch 'MacVim'
[MacVim/KaoriYa.git] / runtime / doc / debug.jax
blobceee07a6dd71b52a4e2f07f7ad90f975ce0fa51c
1 *debug.txt*     For Vim バージョン 7.2.  Last change: 2006 May 01
4                   VIM REFERENCE MANUAL    by Bram Moolenaar
7 Vim のデバッグ                                               *debug-vim*
9 Vim のデバッグ方法についての説明です。
10 Vim スクリプトや関数などのデバッグについては、|debug-scripts| を参照してくださ
11 い。
13 1. gcc と gdb を使ってクラッシュの場所を特定する  |debug-gcc|
14 2. Windows でのバグレポート                             |debug-win32|
16 ==============================================================================
18 1. gcc と gdb を使ってクラッシュの場所を特定する  *debug-gcc*
20 テストファイルで Vim がクラッシュした場合、gcc を使っているなら、以下の方法で
21 場所を特定できます。MinGW でも同じようにできます。
23 1. "-g" オプション付きで Vim をコンパイル (Makefile にそのための行があるのでコ
24    メントアウトしてください)。
26 2. 次のコマンドを実行 ("11" の所を失敗したテストの番号に変えてください): >
27         cd testdir
28         gdb ../vim
29         run -u unix.vim -U NONE -s dotest.in test11.in
31 3. Vim のクラッシュを確認。gdb がメッセージを表示します。
33 4. 次のコマンドでスタックトレースを表示できます: >
34         where
35 <  次のコマンドで別の場所のスタックトレースを表示できます: >
36         frame 3
37 <  "3" のところをにスタックトレースの番号を指定してください。
39 ==============================================================================
41 2. Windows でのバグレポート                             *debug-win32*
43 Windows版の Vim が再現可能な手段でクラッシュした場合、次の方法で有用なバグレ
44 ポートを作成できます。
46 一般事項 ~
48 実行ファイルに対応したデバッグシンボルファイル (PDB) を用意してください。
49 gvim.exe には gvim.pdb、vim.exe には vim.pdb が必要です。あなたが実行ファイル
50 を入手したのと同じ場所に用意されているはずです。EXE に対応した (同じ日付の)
51 PDB でなければいけません。
53 Microsoft Visual C++ コンパイラを使って自分で実行ファイルを作成した場合は、PDB
54 は EXE といっしょに作成されています。
56 他の方法もあります。ソースファイルを入手し、Visual Studio のワークスペースに
57 Make_ivc.mak を取り込んでください。そして、デバッグの設定を選択し、ビルドして
58 ください。ブレイクポイントの設定や変数の監視など、すべてのデバッグ機能が使えま
59 す。
61 Visual Studio を持っている場合はそれを使ってください。VC Toolkit と WinDbg は
62 必要ありません。
64 他のコンパイラを使っている場合は、それぞれ適切なデバッガを使ってください。
65 Borland コンパイラで作成した Vim 実行ファイルなら TD を使ってください。Cygwin
66 または MinGW のコンパイラなら gdb を使ってください (上記参照 |debug-gcc|)。
69                                                                 *debug-vs2005*
70 2.2 Visual Studio 2005/Visual C++ 2005 Express で Vim をデバッグする ~
72 vim.exe か gvim.exe を起動し、Visual Studio を起動してください。(Visual Studio
73 を持っていない場合は、|get-ms-debuggers| の説明に従って、無料の Visual C++
74 2005 Express Edition を入手してください。)
76 メニューから「ツール/プロセスにアタッチ」を選択し、Vim のプロセスを選択します。
78 そして、Vim を操作してクラッシュを再現します。「ハンドルされていない例外が発生
79 しました」という Visual Studio のダイアログが表示されるので、中断ボタンをクリ
80 ックしてプロセスを中断してください。
82 シンボルが読み込めず、ソースコードを表示できなかったときは、もう一つダイアログ
83 が表示されます。OK をクリックしてください。
85 ウィンドウがいくつか開きます。呼び出し履歴ウィンドウの右クリックメニューから
86 「シンボルの読み込み」を選択してください。シンボル検索ダイアログが開くので、
87 (g)vim.pdb のあるディレクトリを選択してください。
89 このとき、呼び出し履歴ウィンドウには Vim の関数名や行番号が表示されているはず
90 です。どれかをダブルクリックするとソースの検索ダイアログが表示されます。Vim の
91 ソースがあるディレクトリを選択してください (もしソースがあるなら)。
93 さらに詳しくデバッグする方法が分からないときは、":help bug-reports" の説明に従
94 ってください。バグレポートに呼び出し履歴を張り付けてください。
96 有料版の Visual Studio を使っている場合は、デバッグメニューから minidump を保
97 存できるので、それをバグレポートに添付してください。minidump は 100KB 以下の小
98 さなファイルで、Vim のプロセスに関する情報が入っています。
99 Visual C++ 2005 Express Edition では minidump を保存できません。just-in-time
100 デバッガ (クラッシュを検出して自動的に起動されるデバッガ) もインストールされま
101 せん。それらが必要なときは WinDbg (|debug-windbg|) を使ってください。
103                                                                 *debug-windbg*
104 2.3 WinDbg を使って Vim をデバッグする ~
106 WinDbg の入手方法は |get-ms-debuggers| を参照してください。
108 Visual Studio IDE を使うのと同じように、WinDbg から Vim のプロセスにアタッチで
109 きます。プログラムがクラッシュしたときに、事後分析デバッガ (postmortem
110 debugger) として、WinDebug を自動的に起動することができます。事後分析デバッガ
111 として WinDeb を設定するには "windbg -I" を実行してください。
113 WinDbg から、実行中の Vim のプロセスにアタッチするには、WinDeb を起動し、File
114 メニューから「プロセスにアタッチ」を選択し、Vim のプロセスを選択して OK をク
115 リックします。
117 メニューから「File->Symbol File Path」を選択し、Vim PDB の入っているフォルダを
118 symbolpath に追加してください。Vim のソースファイルもある場合は、File メニュー
119 のSource File Path を使ってください。WinDbg でソースファイルを開いたり、ブレー
120 クポイントを設定したりできます。Vim をクラッシュさせると、クラッシュした場所の
121 ソースファイルが WinDbg で開かれます。View メニューを使って、コールスタック、
122 ローカル変数、ウォッチウィンドウなどを見ることができます。
124 事後分析デバッガとして WinDbg を使っている場合、WinDbg から Vim のプロセスにア
125 タッチする必要はありません。Vim をクラッシュさせるだけで WinDbg が自動的に起動
126 します。上述のように、シンボルファイルパスとソースファイルパスを設定してくださ
127 い。
129 minidump を保存するには、WinDbg コマンドラインで次のコマンドを入力します: >
130         .dump vim.dmp
132                                                         *debug-minidump*
133 2.4 Minidump を開く ~
135 Visual Studio か WinDbg を使って minidump を開くことができます。
137 Visual Studio 2005 の場合: メニューから「ファイル->開く->プロジェクト/ソリュー
138 ション」選択し、.dmp ファイルを開いてください。F5 キーを押してデバッガを起動し
139 ます。Symbol File Path の設定について |debug-vs2005| の説明も参照してくださ
140 い。
142 WinDbg の場合: メニューから「File->Open Crash Dump」を選択します。Symbol File
143 Pathの設定について |debug-windbg| の説明も参照してください。
145                                                         *get-ms-debuggers*
146 2.5 Microsoft デバッグツールの入手方法 ~
148 Windows 用のデバッグツールは次の場所からダウンロードできます
149     http://www.microsoft.com/whdc/devtools/debugging/default.mspx
150 これには WinDbg デバッガが含まれています。
152 Visual C++ 2005 Express Edition は次の場所からダウンロードできます。無料です。
153     http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
155 =========================================================================
156  vim:tw=78:ts=8:ft=help:norl: