目次

NVDA のデバッグ

nvdajp_sconsから移動。

since 2011-09-30

下記のような scons オプションがあり、nvdaHelper をビルドするシステムを制御できる:

scons source dist nvdaHelperDebugFlags=RTC,debugCRT

2014年2月ごろの修正で noOptimize と symbols が廃止された

過去のオプション: scons source dist nvdaHelperDebugFlags=noOptimize,RTC,debugCRT,symbols

Pythonのデバッグシンボル(2014.1系は2.7.6)

WinDbg で Symbol Search Path を:

cache*c:\symbols;srv*http://msdl.microsoft.com/download/symbols;C:\work\python-2.7.6-pdb

上記は環境変数 _NT_SYMBOL_PATH に書いてもよいという話。

c:\symbols ディレクトリを作っておく。

デバッグ付きで scons された dist\nvda_noUIAccess.exe を実行ファイルとして指定。

WinDbg でプロセスを Go (g) で実行、すぐ止まるのでもう一度押して再開。

リモートデバッグもできる http://keicode.com/debug/remote-debug.php

サーバー> .server tcp:port=9999
クライアント> tcp:server=192.168.0.xxx,port=9999

おちたときに kp や !findstack nvdaHelper などのコマンドを使うと情報が得られる。

クライアントからリスタートするには

.restart /f