Re: MinGW4.8.1用がgdbで中断 ( No.1 ) |
- 名前:管理人 日時:2014/07/16 19:51
手元の最新版で x32-4.8.1-release-posix-dwarf-rev5.7z を使用して
コンパイルした実行ファイルを gdb を介して実行してみましたが
ご報告いただいたエラーは発生しませんでした
私と溶媒さんのコンパイル、実行の手順が異なることによる結果の違いかもしれませんが、
もしかしたら最新版では直っている可能性もありますので、よろしければこちらの
暫定最新版をお試しになってみてください m(_ _)m
http://homepage2.nifty.com/natupaji/DxLib/DxLibGCC_MinGWTest.exe // MinGW 用
|
Re: MinGW4.8.1用がgdbで中断 ( No.2 ) |
- 名前:溶媒 日時:2014/07/18 03:19
ありがとうございます。
暫定最新版でコンパイルを試みた所、はじめは
undefined reference to `TIFFClientOpen'
のようなエラーが出て失敗していたのですが、
libtiff.aというファイルが追加されていたので、ライブラリリストに-ltiffを追加したらコンパイルできました。
しかし、gdbでの終了時にやはり以下のように表示されて中断してしまいました。
(略)
warning: 4807:
warning: Direct3DDevice9 の解放 2
warning: 4935:
warning: d3d9.dll の解放 1
warning: 4992:
warning: DirectInput 関連の終了処理... 完了
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 7192.0x1790]
0x10003595 in RFBU06!DllGetClassObject () from C:\WINDOWS\SysWOW64\RFBU06.dll
(gdb)
|
Re: MinGW4.8.1用がgdbで中断 ( No.3 ) |
- 名前:管理人 日時:2014/07/20 05:27
すみません -tiff についてお伝えするのを忘れていました
そして・・・駄目でしたか・・・
色々試してみたのですが、私の環境では発生しません
私の環境で作成した実行ファイルがエラーが発生しないものなのか、
それとも環境の違いでエラーが発生しないのかを確認したいと思いますので
よろしければ私の環境で x32-4.8.1-release-posix-dwarf-rev5.7z を使用してコンパイルした
『画面中心に点を打つプログラムをウインドウモードで起動するようにしたプログラム』を
溶媒さんの環境で gdb を使用して実行して、同様のエラーが発生するかご確認いただけないでしょうか? m(_ _;m
https://dxlib.xsrv.jp/temp/DrawPixel.zip
|
Re: MinGW4.8.1用がgdbで中断 ( No.4 ) |
- 名前:溶媒 日時:2014/07/20 22:42
上げていただいたプログラムをgdbで実行してみましたが、
同様にエラーが発生してしまいました。
また、gdbを使わないで実行すると、
管理人さんが作られたプログラムだと、Log.txtの
DirectInput 関連の終了処理... 完了
という行の後(gdbで中断してしまう箇所の直後)に
kita 0
kita 1
という行がいくつも続くのですが、
私が作ったプログラムのログにはありませんでした。
何か関係あるのでしょうか?
(DrawPixel.exeのログ)
(略)
1772:DirectInput 関連の終了処理... 完了
3787:kita 0
3788:kita 1
3789:kita 2
3789:kita 3
3790:kita 4
3791:kita 5
3801:kita 6
3801:kita 7
3806:ウインドウを閉じようとしています
3812:ウインドウが破棄されようとしています
3813:ャtトを終了する準備が整いました
3882:kita 8
3883:kita 9
3883:kita 10
3884:
3885:Alloc memory dump
3885: Total size:0(0.000kb) Alloc num:0
3886:
(私が作成したプログラムのログ)
(略)
1716:DirectInput 関連の終了処理... 完了
3740:ウインドウを閉じようとしています
3744:ウインドウが破棄されようとしています
3745:ャtトを終了する準備が整いました
3813:
3813:Alloc memory dump
3813: Total size:0(0.000kb) Alloc num:0
3814:
|
Re: MinGW4.8.1用がgdbで中断 ( No.5 ) |
- 名前:管理人 日時:2014/07/20 23:37
私の手元で作成した実行ファイルでもエラーが発生しましたか・・・
「kita 数字」は、今回のデバッグ用に埋め込んだ出力です
gdb実行でエラーが発生した際は「kita 数字」の出力がされていなかった
ということでしょうか?
となりますと、kita 0 を仕込んだ位置より前にエラーが発生している
ということになりますね・・・
前回の kita 0 の位置より前に kita の出力を追加したものをアップしましたので、
よろしければこちらを gbd を介して実行して、エラー時のログを教えて頂けないでしょうか?
https://dxlib.xsrv.jp/temp/DrawPixel2.zip
|
Re: MinGW4.8.1用がgdbで中断 ( No.6 ) |
- 名前:溶媒 日時:2014/07/21 02:09
DrawPixel2をgdbを介して実行してみました。
以下のログが表示されるまで実行された後、前と同じくSegmentation faultが起きて中断しました。
gdbを介さない場合はこの後にkita18、19と続いて実行されているようです。
0:システムの情報を出力します
4: DXライブラリ Ver3.12b
14: 論理プロセッサの数 : 8
22: OS Windows8 ( Build 9200 )
33:COMの初期化... 成功しました
85:メモリ総量:8071.28MB 空きメモリ領域:4971.31MB
96:タイマーの精度を検査します
113:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
156: パフォーマンスカウンターを使用します タイマー精度 : 2338.450000 KHz
167: ャtトの二重起動検査... 二重起動はされていませんでした
176:ウインドウクラスを登録します... 登録に成功しました
182:ウインドウモード起動用のウインドウを作成します
190:ウインドウの作成に成功しました
195:ウインドウを侮ヲします
205:IMEを無効にしました
248:ウインドウスタイルをウインドウモード用に変更します... 完了
317:DirectInput関係初期化処理
323: XInput DLL の読み込み中... 成功
342: DirectInput7 の取得中... 成功
510: 引き続き初期化処理... 初期化成功
570: kita 11
576: kita 12
582: kita 22
587: kita 23
592: ジョイパッドの初期化...
611: 入力装置を見つけました
655: デバイスの登録名:BUFFALO BSGP1203 Series
673: デバイスの製品登録名:BUFFALO BSGP1203 Series
928: ジョイパッドの追加は正常に終了しました
940: ジョイパッドの初期化は正常に終了しました
953: マウスデバイスの初期化... 初期化成功
967: キーボードデバイスの初期化... 初期化成功
982:DirectInput 関連の初期化は正常に終了しました
1092:XAudio2 の初期化を行います
1143: XAudio2_8.dll を使用します
1150: XAudio2 インターフェースの取得と初期化を行います.... 成功 Ver2.8
1327:XAudio2 の初期化は正常に終了しました
1456:DirectDraw オブジェクトの取得を行います.... 成功
1519:引き続き初期化処理... 初期化に成功しました
1594:IDirect3D9Ex オブジェクトを取得します.... 成功
1603:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
1990:成功
1993:Driver:igdumdim32.dll Description:Intel(R) HD Graphics 4000
1999:画面のフォーマットは D3DFMT_X8R8G8B8 です
2005:16bit Zバッファフォーマットは D3DFMT_D16 です
2011:24bit Zバッファフォーマットは D3DFMT_D24X8 です
2017:32bit Zバッファフォーマットは D3DFMT_D24X8 です
2022:16bit カラーフォーマットは D3DFMT_R5G6B5 です
2027:32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
2032:アルファ付き 16bit カラーフォーマットは D3DFMT_A4R4G4B4 です
2039:アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
2046:アルファテスト用 16bit カラーフォーマットは D3DFMT_A1R5G5B5 です
2054:アルファテスト用 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
2062:DXT1テクスチャフォーマットはD3DFMT_DXT1 です
2066:DXT2テクスチャフォーマットはD3DFMT_DXT2 です
2091:DXT3テクスチャフォーマットはD3DFMT_DXT3 です
2096:DXT4テクスチャフォーマットはD3DFMT_DXT4 です
2100:DXT5テクスチャフォーマットはD3DFMT_DXT5 です
2117:描画用 16bit カラーフォーマットは D3DFMT_R5G6B5 です
2122:描画用 32bit カラーフォーマットは D3DFMT_X8R8G8B8 です
2129:描画用アルファ付き 32bit カラーフォーマットは D3DFMT_A8R8G8B8 です
2139:描画用ABGR整数16ビット型カラーフォーマットは D3DFMT_A16B16G16R16 です
2149:描画用ABGR浮動小数点16ビット型カラーフォーマットは D3DFMT_A16B16G16R16F です
2161:描画用ABGR浮動小数点32ビット型カラーフォーマットは D3DFMT_A32B32G32R32F です
2171:描画用1チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8R8G8B8 です
2180:描画用1チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
2189:描画用1チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_R16F です
2197:描画用1チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_R32F です
2206:描画用2チャンネル整数8ビット型カラーフォーマットは D3DFMT_A8B8G8R8 です
2215:描画用2チャンネル整数16ビット型カラーフォーマットは D3DFMT_G16R16 です
2223:描画用2チャンネル浮動小数点16ビット型カラーフォーマットは D3DFMT_G16R16F です
2232:描画用2チャンネル浮動小数点32ビット型カラーフォーマットは D3DFMT_G32R32F です
2241:一度に描画できるプリミティブの最大数:8388607
2246:対応している最大頂点インデックス:16777215
2249:同時にレンダリングできるバッファの数:4
2253:最大テクスチャサイズ 幅:8192 高さ:8192
2256:テクスチャステージテンポラリレジスタ:使用可
2260:減算合成のハードウェア対応:ネイティブ
2263:ハードウェア頂点シェーダーバージョンコード:300
2267:エミュレーション頂点シェーダーバージョンコード:エミュレーション無し
2273:ピクセルシェーダーバージョンコード:300
2371:バックバッファロック転送の時間:27060nsec 一時的な描画可買oッファを使用した転送の時間:1170nsec
2380:バックバッファロックを使用しません
2383:Zバッファを作成します.... 成功
4285:プログラマブルシェーダーを使用します
4344:フォントの初期化を行います
4348:フォントの初期化は正常に終了しました
4366:文字コードバッファの初期化を行います... 完了しました
6371:フォントの初期化を行います
6375:フォントの初期化は正常に終了しました
6397:Direct3DDevice9 の解放 2
6533:d3d9.dll の解放 1
6596:DirectInput 関連の終了処理... 完了
6599:kita 11
6601:kita 12
6603:kita 13 0
6604:kita 14 0
6605:kita 15 0
6607:kita 16 0
6608:kita 17 0
|
Re: MinGW4.8.1用がgdbで中断 ( No.7 ) |
- 名前:管理人 日時:2014/07/21 15:12
お試しいただきありがとうございます
kita 17 までは出力されているとのことで、エラーが発生している箇所が分かりました
私の環境ではエラーが発生しないので直せたかどうかは分かりませんが
エラーが発生しないように手を加えてみましたので、何度も申し訳ありませんが
よろしければこちらを再度 gdb を介して実行してみてください m(_ _;m
https://dxlib.xsrv.jp/temp/DrawPixel3.zip
|
Re: MinGW4.8.1用がgdbで中断 ( No.8 ) |
- 名前:溶媒 日時:2014/07/21 17:43
何度もありがとうございます。
DrawPixel3をgdbを介して実行してみましたが、
前と同様にkita17まで表示されて中断してしまいました。
|
Re: MinGW4.8.1用がgdbで中断 ( No.9 ) |
- 名前:管理人 日時:2014/07/21 21:37
お試しいただきありがとうございます
駄目でしたか・・・
kita が出力されている状況を教えて頂いて分かった「エラーが発生している箇所」は
ジョイパッドを扱うための機能の後始末をする API を呼んでいる所です
呼び出すAPIには引数も無くただ呼んでいるだけなので、それでエラーが発生してしまうとなると
DXライブラリの側ではこれ以上対応のしようが無い状態です
( ジョイパッドを扱っている処理で一部マニュアルで禁止されているコードがあったので
それが原因かと思い修正したものが No.7 の DrawPixel3.zip だったのですが、違ったようです )
原因は gdb の誤動作か、ジョイパッドのドライバに何かがあるのか、それともDXライブラリの
プログラムに何か問題があるのかはわかりませんが、とりあえず現状これ以上調べるのは難しそうです
申し訳ありませんが、どうしても gdb を介して動作させた際にエラーが発生するのを
無くしたいとのことでしたら、DxLib_Init の前に SetUseDirectInputFlag( FALSE ) ; を
実行してみてください、ジョイパッドを扱うに当たって DirectInput を使用しなくなるので
エラーも発生しなくなると思います m(_ _;m
|
Re: MinGW4.8.1用がgdbで中断 ( No.10 ) |
- 名前:溶媒 日時:2014/07/22 00:28
ジョイパッドを扱う機能が関わっているとの事なので、
USB接続していたジョイパッド(Baffalo BSGP1203)を確認したところ、
Windows8に対応しておらず、これを抜いたらエラーが収まりました。
また、SetUseDirectInputFlag( FALSE );
を入れた状態だとジョイパッドが刺さっていてもエラーは起こりませんでした。
別のジョイパッドでWindows8に対応している物(BSGP801)を接続してもエラーは発生しませんでしたので、
Windows8に対応していないジョイパッドを使っていたのが原因だったようです。
お手数をおかけしました。
|