PDBファイルのロードについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
joh2121
記事: 4
登録日時: 12年前

PDBファイルのロードについて

#1

投稿記事 by joh2121 » 12年前

visual studio EXP 2013 でゲーム制作をしておりますが、windowsを8.1にしてから妙なハンドル例外が頻発します。
大体どのあたりで発生するかは決まっているのですが、タイミングに再現性がなく、何もエラーなく進行することもあります。
内容は以下のとおりです。

コード:

ハンドルされない例外が 0x71D0B4AE (igdumdim32.dll) で発生しました(gamepro105.exe 内): 0xC0000005: 場所 0x7439B098 の読み取り中にアクセス違反が発生しました。

コード:

igdumdim32.pdb は読み込まれていません

モジュール igdumdim32.dll のソースを見つけるために必要な情報が igdumdim32.pdb に含まれています。

モジュール情報
  バージョン: 10.18.10.3316
  元の場所:  C:\Windows\SysWOW64\igdumdim32.dll
シンボルサーバーは読みこむように設定されていますが、確かに出力に
"412:引き続き初期化処理... 'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\igdumdim32.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。"
とあり、 igdumdim32.dll こそ正常に読み込まれていますが、PDBの読み込みには失敗しているようです。
一時ファイルを見る限り、 igdumdim32.pdb はキチンと存在しているのですが……バージョンが古いのでしょうか?

以下に出力の全文を貼り付けておきます(ユーザー名だけ __username__ に書き換えてありますが、ご了承ください)

コード:

'gamepro105.exe' (Win32): 'J:\visual studio 2012\Projects\gamepro105\Debug\gamepro105.exe' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\ntdll.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\kernel32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\KernelBase.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\user32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\gdi32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\shell32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\msvcrt.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\combase.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\shlwapi.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\rpcrt4.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\sspicli.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\cryptbase.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\sechost.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\bcryptprimitives.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\imm32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\msctf.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\ws2_32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\nsi.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\winmm.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\winmmbase.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\cfgmgr32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\devobj.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\ole32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\comctl32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\advapi32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\dwmapi.dll' が読み込まれました。シンボルが読み込まれました。
0:システムの情報を出力します
2:	DXライブラリ Ver3.11 
3:	論理プロセッサの数 : 4
5:	OS  Windows8 ( Build 9200  )
108:	CPU動作速度:大体2.48GHz
150:	MMX命令を使用します
152:	SSE命令が使用可能です
155:	SSE2命令が使用可能です
157:	CPUベンダ:GenuineIntel
167:	CPU名:       Intel(R) Core(TM) i3-3120M CPU @ 2.50GHz
169:COMの初期化... 成功しました
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\kernel.appcore.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\uxtheme.dll' が読み込まれました。シンボルが読み込まれました。
180:メモリ総量:8069.70MB  空きメモリ領域:4264.49MB 
4264.49MB
183:タイマーの精度を検査します
185:精度結果 更新回数 マルチメディアタイマー:0  パフォーマンスカウンター:60
190: パフォーマンスカウンターを使用します タイマー精度 : 2435.879000 KHz 
194: ソフトの二重起動検査... 二重起動はされていませんでした
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\IconCodecService.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\WindowsCodecs.dll' が読み込まれました。シンボルが読み込まれました。
211:ウインドウクラスを登録します... 登録に成功しました
214:ウインドウモード起動用のウインドウを作成します
221:ウインドウの作成に成功しました
223:ウインドウを表示します
230:IMEを無効にしました
233:ウインドウスタイルをウインドウモード用に変更します... 完了
258:DirectInput関係初期化処理
260:	XInput DLL の読み込み中... 成功
267:	DirectInput7 の取得中... 'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\XInput1_4.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\clbcatq.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\dinput.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\hid.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\setupapi.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\wintrust.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\crypt32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\msasn1.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\ntmarta.dll' が読み込まれました。シンボルが読み込まれました。
成功
302:		引き続き初期化処理... 初期化成功
'gamepro105.exe' (Win32): 'C:\Users\__username__\AppData\Local\Lingoes\Translator\lingoes-us\OpenText32.dll' が読み込まれました。モジュールがシンボルなしでビルドされました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\oleaut32.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\oleacc.dll' が読み込まれました。シンボルが読み込まれました。
313:	ジョイパッドの初期化... 
319:	入力装置を見つけました
321:		デバイスの登録名:Elecom Wired Gamepad
323:		デバイスの製品登録名:Elecom Wired Gamepad
326:	周期的エフェクトの作成に失敗しました。
328:	ジョイパッドの追加は正常に終了しました
330:	ジョイパッドの初期化は正常に終了しました
333:	マウスデバイスの初期化... 初期化成功
337:	キーボードデバイスの初期化... 初期化成功
342:DirectInput 関連の初期化は正常に終了しました
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\msacm32.dll' が読み込まれました。シンボルが読み込まれました。
346:XAudio2 の初期化を行います
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\XAudio2_8.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\avrt.dll' が読み込まれました。シンボルが読み込まれました。
352:	XAudio2_8.dll を使用します
354:	XAudio2 インターフェースの取得と初期化を行います....  成功 Ver2.8
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\MMDevAPI.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\AudioSes.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\powrprof.dll' が読み込まれました。シンボルが読み込まれました。
391:XAudio2 の初期化は正常に終了しました
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\d3d9.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\version.dll' が読み込まれました。シンボルが読み込まれました。
401:DirectDraw オブジェクトの取得を行います....  'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\ddraw.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\dciman32.dll' が読み込まれました。シンボルが読み込まれました。
成功
412:引き続き初期化処理... 'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\igdumdim32.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\igdusc32.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
初期化に成功しました
428:IDirect3D9Ex オブジェクトを取得します.... 成功
435:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
790:成功
793:Driver:igdumdim32.dll  Description:Intel(R) HD Graphics 4000
795:画面のフォーマットは D3DFMT_X8R8G8B8 です
798:16bit Zバッファフォーマットは D3DFMT_D16 です
800:24bit Zバッファフォーマットは D3DFMT_D24X8 です
802:32bit Zバッファフォーマットは D3DFMT_D24X8 です
804:16bit カラーフォーマットは D3DFMT_R5G6B5 です
806:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
809:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です
811:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
813:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です
815:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
817:DXT1テクスチャフォーマットはD3DFMT_DXT1 です
819:DXT2テクスチャフォーマットはD3DFMT_DXT2 です
822:DXT3テクスチャフォーマットはD3DFMT_DXT3 です
824:DXT4テクスチャフォーマットはD3DFMT_DXT4 です
826:DXT5テクスチャフォーマットはD3DFMT_DXT5 です
829:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です
831:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
833:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
835:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です
837:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です
840:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です
842:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です
844:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
846:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です
848:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です
850:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です
853:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
855:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です
858:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です
860:一度に描画できるプリミティブの最大数:1048575
862:対応している最大頂点インデックス:16777215
865:同時にレンダリングできるバッファの数:4
867:最大テクスチャサイズ 幅:8192 高さ:8192
870:テクスチャステージテンポラリレジスタ:使用可
872:減算合成のハードウェア対応:ネイティブ
874:ハードウェア頂点シェーダーバージョンコード:300
877:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し
880:ピクセルシェーダーバージョンコード:300
897:バックバッファロック転送の時間:1949nsec  一時的な描画可能バッファを使用した転送の時間:893nsec
900:バックバッファロックを使用しません
902:Zバッファを作成します.... 成功
3443:プログラマブルシェーダーを使用します

3519:フォントの初期化を行います
3523:フォントの初期化は正常に終了しました
3541:文字コードバッファの初期化を行います... 完了しました
'gamepro105.exe' (Win32): 'C:\Program Files (x86)\Google\Google Japanese Input\GoogleIMEJaTIP32.dll' が読み込まれました。PDB ファイルを開けないか、ファイルが見つかりません。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\psapi.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\dbghelp.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\SHCore.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\profapi.dll' が読み込まれました。シンボルが読み込まれました。
9123:フォントの初期化を行います
9128:フォントの初期化は正常に終了しました
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\mciseq.dll' が読み込まれました。シンボルが読み込まれました。
'gamepro105.exe' (Win32): 'C:\Windows\SysWOW64\mciseq.dll' がアンロードされました
初回例外が 0x71D0B4AE (igdumdim32.dll) で発生しました (gamepro105.exe 内): 0xC0000005: 場所 0x7E499398 の読み取り中にアクセス違反が発生しました。
ハンドルされない例外が 0x71D0B4AE (igdumdim32.dll) で発生しました(gamepro105.exe 内): 0xC0000005: 場所 0x7E499398 の読み取り中にアクセス違反が発生しました。
PDBファイルについて検索もしてみましたが、どうも「シンボルサーバーから読み込め」といった解決策しか見当たらず、途方にくれています。
シンボルの一時ファイル削除と、サーバーからの再読み込み、またリビルド等も一応試してあります。

この現象の原因と解決策をご存知のかた、どうかアドバイスをいただけないでしょうか。
よろしくお願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: PDBファイルのロードについて

#2

投稿記事 by softya(ソフト屋) » 12年前

pdbはプログラムデータベースで、デバッグ情報などが入ったファイルです。
igdumdim32.dll'など自分でビルドしていないdllのpdbが無いのは当たり前で、この場合は正常動作と言えます。

igdumdim32.dllでエラーが出ているのはご自身の呼び出しの引数などに問題が有る可能性が高いと思います。
windowsを8.1でバグが表面化したのか、8.1での仕様変更なのかはわかりませんが、呼び出し部分の引数などを確認してみて下さい。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

joh2121
記事: 4
登録日時: 12年前

Re: PDBファイルのロードについて

#3

投稿記事 by joh2121 » 12年前

ありがとうございます。勉強になりました。
呼び出し元は大体見当が付いているので、もう少々探ってみます。

閉鎖

“C言語何でも質問掲示板” へ戻る