9

シンボル ファイルに問題があります。シンボル ファイル パスを試し、パスを次のように設定しました。

srv*c:\symbols*http://msdl.microsoft.com/download/symbols;C:\Users\myuser\Desktop\driver2\objchk_win7_x86\i386

しかし、その後、次のように変更しました。

srv*c:\symbols*http://msdl.microsoft.com/download/symbols;C:\Users\myuser\Desktop\mydriver\objchk_win7_x86\i386

パスに mydriver を使用して driver2 を変更しました。これは、ドライバーの .pdb ファイルが配置されているパスです。問題は、以下に示すように .sympath が正しいパスを出力することです。

kd> .sympath
Symbol search path is: srv*c:\symbols*http://msdl.microsoft.com/download/symbols;C:\Users\myuser\Desktop\mydriver\objchk_win7_x86\i386
Expanded Symbol search path is: srv*c:\symbols*http://msdl.microsoft.com/download/symbols;c:\users\myuser\desktop\mydriver\objchk_win7_x86\i386

しかし、ドライバーのシンボルはまだ見つかりません。.reload コマンドを実行すると、WinDbg が mydriver/ ディレクトリではなく driver2/ ディレクトリで .pdb を探していることがわかります。

kd> .reload /f mydriver.sys
SYMSRV:  c:\symbols\mydriver.pdb\3D655E533B0449A38D7AB0AF637CE9201\mydriver.pdb not found
SYMSRV:  http://msdl.microsoft.com/download/symbols/mydriver.pdb/3D655E533B0449A38D7AB0AF637CE9201/mydriver.pdb not found
SYMSRV:  c:\users\myuser\desktop\mydriver\objchk_win7_x86\i386\mydriver.pdb\3D655E533B0449A38D7AB0AF637CE9201\mydriver.pdb not found
DBGHELP: c:\users\myuser\desktop\driver2\objchk_win7_x86\i386\mydriver.pdb - file not found
*** ERROR: Module load completed but symbols could not be loaded for mydriver.sys
DBGHELP: mydriver - no symbols loaded

すべてのワークスペースを削除し、WinDbg を閉じ、Windows を再起動しましたが、driver2/ エントリがまだ残っています。既定のワークスペースのキャッシュまたはどこかにある必要があります。これらのキャッシュを含む WinDbg の個人設定全体を削除するにはどうすればよいですか。そうすると、WinDbg を再起動して、driver2/ パスを削除し、mydriver/ を使用できるようになります。

mydriver/ ディレクトリの名前を driver2/ に戻すことで問題を解決することもできますが、そのような問題は解決したくありません。何が起こっているのかを理解し、できる限り解決したいと思います。

4

3 に答える 3

0

これを解決するより良い方法 - ノイズの多いシムをオンにして、.reload /f my_driver.sys のパスを確認するか、新しいパスを .sympath[+] path/to/pdb に追加して同じことを行います。

于 2015-03-16T16:07:57.390 に答える