トップページ > 記事閲覧
DXライブラリ終了途中?のアクセス違反
名前:たろう 日時: 2022/09/01 01:27

いつもすみませんたろうです。 またすみませんm(__)m 現在作っているゲームをウィンドウの閉じるボタンで終了すると 発生確立は50回に1回くらいでしょうか、ウィンドウが消える前にフリーズしてしまいます visualstudio(2022)には 「フレームがモジュールにありません 読み込まれたモジュールに現在のスタック フレームが見つかりませんでした。この場所のソースは表示できません。」 と表示され、ヒントもわからない状態です。 (Releaseモード「デバッグの開始」で発生しました。その後気づいてDebugに切り替えてからいくら試しても発生しません…) デバッグの停止で、フリーズしたウィンドウを強制的に閉じると、visual studioには 3637:サウンド関連の終了処理... スレッド 0x5014 はコード 0 (0x0) で終了しました。 スレッド 0x477c はコード 0 (0x0) で終了しました。 0x00000000010035CC で例外がスローされました (Armagic.exe 内): 0xC0000005: 場所 0x00000000010035CC の実行中にアクセス違反が発生しました プログラム '[26316] Armagic.exe' はコード 0 (0x0) で終了しました。 (※最後の部分) と表示されました。 この場合原因の特定はどのようにしたらよいでしょうか? 相変わらず知識が足りず、行き詰っています。 アドバイスをいただけると助かりますm(__)m 問題が発生した時のログを貼ります。 0:ファイルアクセス処理の初期化...成功 13:ChangeWindowMode実行 13:ウインドウモードフラグが立てられました 14:DXライブラリの初期化処理開始 15: システムの情報を出力します 15: DXライブラリ Ver3.23c 17: 論理プロセッサの数 : 12 17: OS Windows11 ( Build 22000 ) 118: 現時点のCPU動作速度:大体3.59GHz 118: MMX命令を使用します 118: SSE命令が使用可能です 118: SSE2命令が使用可能です 119: CPUベンダ:AuthenticAMD 120: CPU名:AMD Ryzen 5 4500 6-Core Processor 120: COMの初期化... 成功 121: 非同期読み込み処理の初期化...成功 121: メモリ総量:32640.33MB 空きメモリ領域:22350.27MB 121: タイマーの精度を検査します 121: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 121: パフォーマンスカウンターを使用します タイマー精度 : 10000.000000 KHz 123: ソフトの二重起動検査... 二重起動はされていませんでした 124: ウインドウクラスを登録します... 登録に成功しました 124: ウインドウモード起動用のウインドウを作成します 124: ディスプレイ情報のセットアップ開始 124: モニターの数:2 ディスプレイデバイスの数:4 124: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 60Hz 96x96dpi 126: No.1 モニター名:\\.\DISPLAY2 1080x1920 32bit 60Hz 96x96dpi 177: ディスプレイ情報のセットアップ完了 178: ウインドウ矩形 ( 671, 3 )-( 1233, 1014 ) 189: ウインドウの作成に成功しました 189: ウインドウを表示します 241: IMEを無効にしました 243: ウインドウスタイルをウインドウモード用に変更します... 完了 283: DirectInput関係初期化処理 283: XInput DLL の読み込み中... 成功 289: DirectInput8 の取得を試みます...成功 377: 引き続き初期化処理... 初期化成功 380: ジョイパッドの初期化... 382: XInput 対応コントローラーのチェックを開始します 382: XInput 対応コントローラー No.0 をチェック 382: XInput 対応コントローラー No.0 の接続は確認できませんでした 383: XInput 対応コントローラー No.1 をチェック 383: XInput 対応コントローラー No.1 の接続は確認できませんでした 384: XInput 対応コントローラー No.2 をチェック 384: XInput 対応コントローラー No.2 の接続は確認できませんでした 385: XInput 対応コントローラー No.3 をチェック 385: XInput 対応コントローラー No.3 の接続は確認できませんでした 385: XInput 対応コントローラーのチェック完了 386: DirectInput 対応ジョイパッドの列挙を開始します 402: DirectInput 対応入力装置を検出しました 402: Device Product GUID : 200f056e,0000,0000,00,00,50,49,44,56,49,44 403: Device Instance GUID : 912fabe0,1db5,11ed,80,03,44,45,53,54,00,00 403: DirectInputDevice8 の作成... 成功 405: DirectInputDevice の情報を取得します... 成功 405: Device Product Name : JC-U4013S DirectInput Mode 405: Device Instance Name : JC-U4013S DirectInput Mode 406: 検出した DirectInput 対応入力装置が Xbox360コントローラーか確認... 不一致 406: 検出した DirectInput 対応入力装置が XboxOneコントローラーか確認... 不一致 408: 検出した DirectInput 対応入力装置が XInput 対応コントローラーか確認... 不一致 972: DirectInputDevice のデータ形式に JOYSTICK 形式を設定... 成功 974: DirectInputDevice の協調レベルに DISCL_FOREGROUND | DISCL_EXCLUSIVE を設定... 成功 974: DirectInputDevice から取得する X軸 の値の範囲を設定... 成功 974: DirectInputDevice から取得する Y軸 の値の範囲を設定... 成功 976: DirectInputDevice から取得する Z軸 の値の範囲を設定... 成功 976: DirectInputDevice から取得する Rx軸 の値の範囲を設定... 成功 978: DirectInputDevice から取得する Ry軸 の値の範囲を設定... 成功 978: DirectInputDevice から取得する Rz軸 の値の範囲を設定... 成功 978: DirectInputDevice のボタンの数を取得... 成功 ボタンの数は 13 個です 998: DirectInputDevice の X軸 のデッドゾーンを設定... 成功 999: DirectInputDevice の Y軸 のデッドゾーンを設定... 成功 1000: DirectInputDevice の Z軸 のデッドゾーンを設定... 成功 1001: DirectInputDevice の Rx軸 のデッドゾーンを設定... 成功 1002: DirectInputDevice の Ry軸 のデッドゾーンを設定... 成功 1002: DirectInputDevice の Rz軸 のデッドゾーンを設定... 成功 1003: DirectInputDevice の DirectInputEffect No.0 を作成... 成功 1004: DirectInputDevice の DirectInputEffect No.1 を作成... 成功 1005: DirectInputDevice の通知処理用の Event を作成... 成功 1006: DirectInputDevice の通知処理用の Event を DirectInputDevice に設定... 成功 1006: DirectInputDevice のアクセス権を取得... 成功 1013: 検出した DirectInput 対応入力装置を入力ナンバー 0 で登録します 1013: 検出した DirectInput 対応入力装置の初期化は正常に終了しました 1063: DirectInput 対応ジョイパッドの列挙終了 1063: ジョイパッドの初期化は正常に終了しました 1064: マウスデバイスの初期化... 初期化成功 1065: キーボードデバイスの初期化... 初期化成功 1066: DirectInput 関連の初期化は正常に終了しました 1071: WASAPI の初期化を行います 1078: デバイス名 : スピーカー (Realtek(R) Audio) 1083: デフォルト遅延時間 : 10.000 ms 1083: 最小遅延時間 : 3.000 ms 1083: 遅延時間 : 10.000 ms 1087: チャンネル数   : 2 ch 1087: 量子化ビット深度 : 32 bit 1088: 有効ビット深度  : 32 bit 1088: サンプリングレート : 48000 Hz 1088: データ形式 : 浮動小数点型 1120: 動作モード : 共有モード 1120: WASAPI の初期化は正常に終了しました 1122: d3d11.dll の読み込み.... 成功 1127: dxgi.dll の読み込み.... 成功 1127: API CreateDXGIFactory2 のアドレスを取得します.... 成功 1127: IDXGIFactory2 を作成します.... 成功 1134: API CreateDXGIFactory6 のアドレスを取得します.... 成功 1136: IDXGIAdapter を列挙 1136: Adapter No.0 Desc:NVIDIA GeForce GTX 1660 SUPER VRAM:5992MB 1137: Output Device No.0 Name:\\.\DISPLAY1 ( 0, 0 )-( 1920, 1080 ) 1137: Output Device No.1 Name:\\.\DISPLAY2 ( -2160, -1395 )-( -1080, 525 ) 1137: Adapter No.1 Desc:Microsoft Basic Render Driver VRAM:0MB 1138: API D3D11CreateDevice のアドレスを取得します.... 成功 1138: IDXGIAdapter を取得します.... 成功 1139: IDXGIAdapter1 を取得します.... 成功 1139: IDXGIAdapter2 を取得します.... 成功 1139: IDXGIAdapter3 を取得します.... 成功 1140: IDXGIAdapter4 を取得します.... 成功 1140: Direct3D 11 FeatureLevel 11_0 以上を対象とします 1140: ID3D11Device オブジェクトを取得します.... 成功 1228: IDXGIDevice1 を取得します.... 成功 1228: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 1228: [ウインドウモード 1080x1920 ( 687, 41 )-( 1233, 1013 )] 1229: IDXGISwapChain2 を作成します.... 成功 1229: IDXGIFactory2->CreateSwapChainForHwnd の戻り値:0x00000000 1229: IDXGIOutput を取得します.... 成功 1230: Graphics Device:NVIDIA GeForce GTX 1660 SUPER 1230: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1230: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 1231: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 1231: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 1231: 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1233: 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1233: アルファ付き 16bit カラーフォーマットは DXGI_FORMAT_B4G4R4A4_UNORM です 1233: アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1233: アルファテスト用 16bit カラーフォーマットは DXGI_FORMAT_B5G5R5A1_UNORM です 1233: アルファテスト用 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1233: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 1233: DXT2テクスチャフォーマットは使えません 1233: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 1235: DXT4テクスチャフォーマットは使えません 1235: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 1235: BC7_UNORM テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM です 1235: BC7_UNORM_SRGB テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM_SRGB です 1236: ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1236: ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1236: ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1236: 1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1237: 1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1237: 1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1237: 1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1237: 2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1237: 2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1237: 2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1237: 2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1237: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1239: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1239: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1239: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1239: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1240: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1240: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1240: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1240: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1240: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1240: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1240: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1240: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1241: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1241: 使用する機能レベル:D3D_FEATURE_LEVEL_11_1 1241: 同時にレンダリングできるバッファの数:8 1243: 最大テクスチャサイズ 幅:16384 高さ:16384 1243: 標準描画用の頂点バッファの作成.... 成功 1244: シェーダーコード関係の初期化.... 成功 1257: 各種シェーダー用定数バッファの作成.... 成功 1260: 各種 ID3D11InputLayout の作成.... 成功 1284: 画像の単純転送処理の初期化... 成功 1286: 深度バッファを作成します.... 成功 1290: フォントの初期化を行います 1294: フォントの初期化は正常に終了しました 1377: 文字コードバッファの初期化を行います... 完了しました 1394:DXライブラリの初期化処理終了 1538:画像ファイル D:\vs\Armagic\sys\mm\m10002.png がありません 1587:File Open Error : D:\vs\Armagic\sys\se\hit\04.wav 1587:Sound File Load Error : D:\vs\Armagic\sys\se\hit\04.wav 1603:File Open Error : D:\vs\Armagic\sys\se\srg00.wav 1604:Sound File Load Error : D:\vs\Armagic\sys\se\srg00.wav 1604:File Open Error : D:\vs\Armagic\sys\se\srg01.wav 1604:Sound File Load Error : D:\vs\Armagic\sys\se\srg01.wav 1604:File Open Error : D:\vs\Armagic\sys\se\srg02.wav 1604:Sound File Load Error : D:\vs\Armagic\sys\se\srg02.wav 3394:ウインドウを閉じようとしています 3497:フォントの初期化を行います 3497:フォントの初期化は正常に終了しました 3523:d3d11.dll の解放 1 3524:dxgi.dll の解放 1 3525:Direct3D11 のオブジェクト数を出力 3526:Direct3D11 のオブジェクト合計数 : 0 3526:DirectInput 関連の終了処理... 完了 3637:サウンド関連の終了処理... ここでおわりですm(__)m
メンテ

Page: 1 | 2 |

Re: DXライブラリ終了途中?のアクセス違反 ( No.1 )
名前:管理人 日時:2022/09/01 01:39

うーん現時点でははっきりとはわかりませんが、サウンドに関連することが原因のような気がします ( サウンドの終了処理で発生しているようなので… ) ログを拝見する限りでは少し前の Ver3.23c をお使いのようですので、よろしければこちらの 暫定最新バージョン( Ver3.23e )でも同様の現象が発生するかお試しになってみて下さい m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 あと、 1587:File Open Error : D:\vs\Armagic\sys\se\hit\04.wav 1587:Sound File Load Error : D:\vs\Armagic\sys\se\hit\04.wav 1603:File Open Error : D:\vs\Armagic\sys\se\srg00.wav 1604:Sound File Load Error : D:\vs\Armagic\sys\se\srg00.wav 1604:File Open Error : D:\vs\Armagic\sys\se\srg01.wav 1604:Sound File Load Error : D:\vs\Armagic\sys\se\srg01.wav 1604:File Open Error : D:\vs\Armagic\sys\se\srg02.wav 1604:Sound File Load Error : D:\vs\Armagic\sys\se\srg02.wav ↑ こちらのログを拝見する限りでは wavファイルの読み込みに失敗しているみたいですので、 原因とは関係ないかもしれませんが、こちらのエラーが発生しないようにプログラムを 変更してみてください m(_ _)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.2 )
名前:たろう 日時:2022/09/01 02:11

いつもありがとうございます。 すみません、絶望のあまり最新の状態で試すのを忘れていました。 早速Ver3.23eに更新の上、存在しないwavファイルを読みこもうとしている部分を削除しました。 まだ二日ほど前に発生して4度しか発生していませんので、この状態で また発生するかどうか試してみます。 (※debugにしてから何十回試しても再現しないので、releaseで試します) また書き込みいたしますm(__)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.3 )
名前:たろう 日時:2022/09/03 21:10

いつもありがとうございます。ここ数日いろいろ試して 以下のようにすると、たまに必ず(※一度発生するとその後ずっと発生)動きがスローになる事が分かりました DXライブラリで作ったソフトを二つ(A,B)起動しながら C(※下記)のプログラムをvisualstudio 2022で(release,debugモードどちらでも)でデバッグの開始をして 先に起動してあるA,Bどちらかのウィンドウをクリックでアクティブにしたり、Cのウィンドウをつかんだりすると Cの動きがモッサリ重くなります(※秒読み数字の進みが遅くなります) ここで×ボタンで終了すると3回に一回くらい「フレームがモジュールにありません」と 前回お知らせしたのと同様のアクセス違反が出ます(ただしウィンドウは消えました) 今まで偶然起こっていたケースでは 動きのモッサリがなかった点が違うので、たぶん一つだけ他のDXライブラリ制のソフトを起動中だったんだと思います (二つだと必ずエラーが出て一つだとたまにエラーが出るみたいな事かと) ゲーム作成用のツールをDXライブラリで10個近く作ってあり それを使って制作しているので、この特殊なバグ(?)にぶつかったようです ABのソフトはDXライブラリ製(windowモードで起動)であればどれでも発生するようですが 全てSetMainWindowClassName("test0903");←これの名前を変えて同時起動できるようにしてあります Cのプログラムは以下の単純なものです。 下のSetAlwaysRunFlag(1);をはずすとエラーが出なくなりました。この辺にヒントがありそうですm(__)m ------------------------------------------------------- #include "DxLib.h" int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { SetMainWindowClassName("test0903"); SetAlwaysRunFlag(1); ChangeWindowMode(1); DxLib_Init(); SetDrawScreen( DX_SCREEN_BACK ); while(ProcessMessage()==0) { if(CheckHitKey(KEY_INPUT_F1)){ break; } static int i=0;i++; DrawFormatString( 0,50,GetColor(255,255,255),"(%d)min",(int)(i/60)); ScreenFlip();ClearDrawScreen(); } DxLib_End(); return 0; } ------------------------------------------------------- 原因として、なにか分かることはありませんでしょうか また、上記方法でエラーが出た場合、ログの内容が少し違ったので下に貼ります m(__)m ------------------------------------------------------- 0:ChangeWindowMode実行 0:ウインドウモードフラグが立てられました 1:DXライブラリの初期化処理開始 2: システムの情報を出力します 2: DXライブラリ Ver3.23e 2: 論理プロセッサの数 : 12 3: OS Windows11 ( Build 22000 ) 103: 現時点のCPU動作速度:大体3.57GHz 103: MMX命令を使用します 103: SSE命令が使用可能です 103: SSE2命令が使用可能です 104: CPUベンダ:AuthenticAMD 106: CPU名:AMD Ryzen 5 4500 6-Core Processor 106: COMの初期化... 成功 110: 非同期読み込み処理の初期化...成功 110: ファイルアクセス処理の初期化...成功 263: メモリ総量:32640.33MB 空きメモリ領域:23170.09MB 263: タイマーの精度を検査します 263: 精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60 264: パフォーマンスカウンターを使用します タイマー精度 : 10000.000000 KHz 264: ソフトの二重起動検査... 二重起動はされていませんでした 266: ウインドウクラスを登録します... 登録に成功しました 267: ウインドウモード起動用のウインドウを作成します 267: ディスプレイ情報のセットアップ開始 269: モニターの数:2 ディスプレイデバイスの数:4 269: No.0 モニター名:\\.\DISPLAY1 1920x1080 32bit 60Hz 96x96dpi 270: No.1 モニター名:\\.\DISPLAY2 1080x1920 32bit 60Hz 96x96dpi 306: ディスプレイ情報のセットアップ完了 306: ウインドウ矩形 ( 624, 249 )-( 1280, 768 ) 312: ウインドウの作成に成功しました 313: ウインドウを表示します 360: IMEを無効にしました 362: ウインドウスタイルをウインドウモード用に変更します... 完了 398: DirectInput関係初期化処理 398: XInput DLL の読み込み中... 成功 404: DirectInput8 の取得を試みます...成功 491: 引き続き初期化処理... 初期化成功 501: ジョイパッドの初期化... 501: XInput 対応コントローラーのチェックを開始します 502: XInput 対応コントローラー No.0 をチェック 502: XInput 対応コントローラー No.0 の接続は確認できませんでした 503: XInput 対応コントローラー No.1 をチェック 503: XInput 対応コントローラー No.1 の接続は確認できませんでした 504: XInput 対応コントローラー No.2 をチェック 504: XInput 対応コントローラー No.2 の接続は確認できませんでした 505: XInput 対応コントローラー No.3 をチェック 506: XInput 対応コントローラー No.3 の接続は確認できませんでした 507: XInput 対応コントローラーのチェック完了 508: DirectInput 対応ジョイパッドの列挙を開始します 533: DirectInput 対応入力装置を検出しました 533: Device Product GUID : 200f056e,0000,0000,00,00,50,49,44,56,49,44 535: Device Instance GUID : 912fabe0,1db5,11ed,80,03,44,45,53,54,00,00 535: DirectInputDevice8 の作成... 成功 537: DirectInputDevice の情報を取得します... 成功 538: Device Product Name : JC-U4013S DirectInput Mode 539: Device Instance Name : JC-U4013S DirectInput Mode 539: 検出した DirectInput 対応入力装置が Xbox360コントローラーか確認... 不一致 540: 検出した DirectInput 対応入力装置が XboxOneコントローラーか確認... 不一致 540: 検出した DirectInput 対応入力装置が XInput 対応コントローラーか確認... 不一致 1066: DirectInputDevice のデータ形式に JOYSTICK 形式を設定... 成功 1067: DirectInputDevice の協調レベルに DISCL_FOREGROUND | DISCL_EXCLUSIVE を設定... 成功 1068: DirectInputDevice から取得する X軸 の値の範囲を設定... 成功 1069: DirectInputDevice から取得する Y軸 の値の範囲を設定... 成功 1070: DirectInputDevice から取得する Z軸 の値の範囲を設定... 成功 1070: DirectInputDevice から取得する Rx軸 の値の範囲を設定... 成功 1071: DirectInputDevice から取得する Ry軸 の値の範囲を設定... 成功 1072: DirectInputDevice から取得する Rz軸 の値の範囲を設定... 成功 1073: DirectInputDevice のボタンの数を取得... 成功 ボタンの数は 13 個です 1091: DirectInputDevice の X軸 のデッドゾーンを設定... 成功 1092: DirectInputDevice の Y軸 のデッドゾーンを設定... 成功 1092: DirectInputDevice の Z軸 のデッドゾーンを設定... 成功 1093: DirectInputDevice の Rx軸 のデッドゾーンを設定... 成功 1095: DirectInputDevice の Ry軸 のデッドゾーンを設定... 成功 1095: DirectInputDevice の Rz軸 のデッドゾーンを設定... 成功 1096: DirectInputDevice の DirectInputEffect No.0 を作成... 成功 1096: DirectInputDevice の DirectInputEffect No.1 を作成... 成功 1096: DirectInputDevice の通知処理用の Event を作成... 成功 1096: DirectInputDevice の通知処理用の Event を DirectInputDevice に設定... 成功 1097: DirectInputDevice のアクセス権を取得... 成功 1105: 検出した DirectInput 対応入力装置を入力ナンバー 0 で登録します 1105: 検出した DirectInput 対応入力装置の初期化は正常に終了しました 1153: DirectInput 対応ジョイパッドの列挙終了 1154: ジョイパッドの初期化は正常に終了しました 1154: マウスデバイスの初期化... 初期化成功 1156: キーボードデバイスの初期化... 初期化成功 1157: DirectInput 関連の初期化は正常に終了しました 1160: WASAPI の初期化を行います 1168: デバイス名 : スピーカー (Realtek(R) Audio) 1174: デフォルト遅延時間 : 10.000 ms 1174: 最小遅延時間 : 3.000 ms 1175: 遅延時間 : 10.000 ms 1178: チャンネル数   : 2 ch 1178: 量子化ビット深度 : 32 bit 1179: 有効ビット深度  : 32 bit 1179: サンプリングレート : 48000 Hz 1180: データ形式 : 浮動小数点型 1201: 動作モード : 共有モード 1202: WASAPI の初期化は正常に終了しました 1205: d3d11.dll の読み込み.... 成功 1215: dxgi.dll の読み込み.... 成功 1216: API CreateDXGIFactory2 のアドレスを取得します.... 成功 1217: IDXGIFactory2 を作成します.... 成功 1226: API CreateDXGIFactory6 のアドレスを取得します.... 成功 1226: IDXGIAdapter を列挙 1228: Adapter No.0 Desc:NVIDIA GeForce GTX 1660 SUPER VRAM:5992MB 1228: Output Device No.0 Name:\\.\DISPLAY1 ( 0, 0 )-( 1920, 1080 ) 1229: Output Device No.1 Name:\\.\DISPLAY2 ( -2160, -1395 )-( -1080, 525 ) 1229: Adapter No.1 Desc:Microsoft Basic Render Driver VRAM:0MB 1229: API D3D11CreateDevice のアドレスを取得します.... 成功 1230: IDXGIAdapter を取得します.... 成功 1230: IDXGIAdapter1 を取得します.... 成功 1230: IDXGIAdapter2 を取得します.... 成功 1230: IDXGIAdapter3 を取得します.... 成功 1232: IDXGIAdapter4 を取得します.... 成功 1232: Direct3D 11 FeatureLevel 11_0 以上を対象とします 1232: ID3D11Device オブジェクトを取得します.... 成功 1338: IDXGIDevice1 を取得します.... 成功 1339: IDXGIDevice1->SetMaximunFrameLatency( 1 ); を実行しました 1339: [ウインドウモード 640x480 ( 640, 287 )-( 1280, 767 )] 1339: IDXGISwapChain2 を作成します.... 成功 1340: IDXGIFactory2->CreateSwapChainForHwnd の戻り値:0x00000000 1340: IDXGIOutput を取得します.... 成功 1342: Graphics Device:NVIDIA GeForce GTX 1660 SUPER 1342: 画面のフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1342: 16bit Zバッファフォーマットは DXGI_FORMAT_D16_UNORM です 1343: 24bit Zバッファフォーマットは DXGI_FORMAT_D24_UNORM_S8_UINT です 1343: 32bit Zバッファフォーマットは DXGI_FORMAT_D32_FLOAT です 1343: 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1343: 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1345: アルファ付き 16bit カラーフォーマットは DXGI_FORMAT_B4G4R4A4_UNORM です 1345: アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1345: アルファテスト用 16bit カラーフォーマットは DXGI_FORMAT_B5G5R5A1_UNORM です 1345: アルファテスト用 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1345: DXT1テクスチャフォーマットは DXGI_FORMAT_BC1_UNORM です 1345: DXT2テクスチャフォーマットは使えません 1345: DXT3テクスチャフォーマットは DXGI_FORMAT_BC2_UNORM です 1345: DXT4テクスチャフォーマットは使えません 1347: DXT5テクスチャフォーマットは DXGI_FORMAT_BC3_UNORM です 1347: BC7_UNORM テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM です 1347: BC7_UNORM_SRGB テクスチャフォーマットは DXGI_FORMAT_BC7_UNORM_SRGB です 1347: ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1347: ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1347: ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1348: 1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1348: 1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1348: 1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1348: 1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1350: 2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1350: 2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1350: 2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1351: 2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1351: 描画用 16bit カラーフォーマットは DXGI_FORMAT_B5G6R5_UNORM です 1351: 描画用 32bit カラーフォーマットは DXGI_FORMAT_B8G8R8X8_UNORM です 1351: 描画用アルファ付き 32bit カラーフォーマットは DXGI_FORMAT_R8G8B8A8_UNORM です 1351: 描画用 ABGR 整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_UNORM です 1351: 描画用 ABGR 浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16B16A16_FLOAT です 1353: 描画用 ABGR 浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32B32A32_FLOAT です 1353: 描画用1チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8_UNORM です 1353: 描画用1チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_UNORM です 1353: 描画用1チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16_FLOAT です 1354: 描画用1チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32_FLOAT です 1354: 描画用2チャンネル整数 8 ビット型カラーフォーマットは DXGI_FORMAT_R8G8_UNORM です 1354: 描画用2チャンネル整数 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_UNORM です 1355: 描画用2チャンネル浮動小数点 16 ビット型カラーフォーマットは DXGI_FORMAT_R16G16_FLOAT です 1355: 描画用2チャンネル浮動小数点 32 ビット型カラーフォーマットは DXGI_FORMAT_R32G32_FLOAT です 1355: 使用する機能レベル:D3D_FEATURE_LEVEL_11_1 1355: 同時にレンダリングできるバッファの数:8 1355: 最大テクスチャサイズ 幅:16384 高さ:16384 1355: 標準描画用の頂点バッファの作成.... 成功 1357: シェーダーコード関係の初期化.... 成功 1371: 各種シェーダー用定数バッファの作成.... 成功 1373: 各種 ID3D11InputLayout の作成.... 成功 1396: 画像の単純転送処理の初期化... 成功 1397: 深度バッファを作成します.... 成功 1400: フォントの初期化を行います 1403: フォントの初期化は正常に終了しました 1488: 文字コードバッファの初期化を行います... 完了しました 1505:DXライブラリの初期化処理終了 8792:ウインドウを閉じようとしています 8819:ウインドウが破棄されようとしています 8820:ソフトを終了する準備が整いました 8825:フォントの初期化を行います 8825:フォントの初期化は正常に終了しました 8886:d3d11.dll の解放 1 8887:dxgi.dll の解放 1 8889:Direct3D11 のオブジェクト数を出力 8889:Direct3D11 のオブジェクト合計数 : 0 8889:DirectInput 関連の終了処理... 完了 9005:サウンド関連の終了処理... 完了 9011:ウィンドウ関連の終了処理... 完了 9080:COMを終了... 完了 9080: ------------------------------------------------------- ここまでです よろしくお願いいたします m(__)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.4 )
名前:たろう 日時:2022/09/03 22:16

すみません、追記です 上記のチェックをしていた時、またエラーが発生しなくなったのですが、その場合 DXライブラリ製のソフトを2つではなく3つ起動中にデバッグ開始だと発生しました。 多ければ多いほど発生しやすそうです ※計4つ起動中でもCPU(4%)メモリ(24%)とも十分に余裕がある状態でした
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.5 )
名前:管理人 日時:2022/09/04 13:16

ご情報ありがとうございます 手元で載せていただいたCのプログラムをそれぞれ A, B, C に見立てて3つ起動してみたのですが、 特に問題なく動作しました やはり A, B はそれなりに重い処理を実行しないと本件の現象は発生しないでしょうか? ともあれ、もし A, B, C 共に( ツールのプログラムとのことですので )サウンドの出力が必要ありませんでしたら DxLib_Init 呼び出しの前に SetNotSoundFlag( TRUE ); という記述を増やして、サウンド出力をOFFにしてみてください DxLib_Init 呼び出しの前に SetNotSoundFlag( TRUE ); を実行することでサウンド出力に関する処理を一切行わなくなりますので、 サウンド出力関連の処理が本件の原因でしたら、これでエラーが発生しなくなるかもしれません m(_ _)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.6 )
名前:たろう 日時:2022/09/04 15:03

いつもありがとうございます。 なんどもすみません、 テスト用にいろいろ作りましたので ご確認いただけると助かりますm(__)m ttps://file-post.net/ja/s0/d1/1662269745_29787023741_168/?id=hVNXxHlFNtsX ↑ここにEXEファイル4つをフォルダ(test.zip)にいれて置きました 普通のモニタだと16が表示される仕組みですが、4つ起動してウィンドウを行ったり来たりすると 動作が遅くなって40以上になったりすると思います。 これらのEXEファイルは下のプログラムで作ったもので 初めのコメントアウトしてあるSetMainWindowClassNameの部分を取り替えて たとえば//Bの行で作ったものが「B.exe」です SetNotSoundFlag( TRUE );も入れてありますが 影響なくスローになってしまいます。 ABCを起動したのちDをvisualstudioでデバッグすればやはり3回に一回くらいメモリリークが表示されます 作成用ツールだけでなく、動画プレイヤーや画像ビューアまでDXライブラリで作って使っているので また、同時に一つ起動でもおそらくまれに起こる事を考えると できることであれば修正したいですm(__)m ---------------------------------------------------------------------------------------------------------- #include "DxLib.h" int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow ) { SetMainWindowClassName("test0903");//A //SetMainWindowClassName("test0903_2");//B //SetMainWindowClassName("test0903_3");//C //SetMainWindowClassName("test0903_4");//D SetNotSoundFlag( TRUE ); SetAlwaysRunFlag(1); ChangeWindowMode(1); DxLib_Init(); SetDrawScreen( DX_SCREEN_BACK ); int i=0,t=GetNowCount(),t2=0,a=0; while(ProcessMessage()==0) { if(CheckHitKey(KEY_INPUT_F1)){ break; } i++;t2+=GetNowCount()-t; t=GetNowCount(); DrawFormatString( 0,50,GetColor(255,255,255),"(%d)",a); if(i>60){a=(int)(t2/i);i=0;t2=0;} ScreenFlip();ClearDrawScreen(); } DxLib_End(); return 0; } ---------------------------------------------------------------------------------------------------------- すみません、上記サイトからダウンロードしてA,B,C,Dを起動するとき win11のディフェンダーに危険なファイルとして認識されるのですが これはこれで困る気がするのですが・・・なにか問題があるのでしょうか m(__)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.7 )
名前:管理人 日時:2022/09/04 23:49

アップしていただいたファイルを手元でも試してみました A.exe, B.exe, C.exe を実行した状態で、載せていただいたプログラムを Visual Studio で10回ほど デバッグ実行してみたのですが、手元の環境ではエラー現象は発生しませんでした (- -; ( ウィンドウを行ったり来たりというのは、ウィンドウを掴んで動かすということでしょうか?  それともアクティブなウィンドウを A〜D で切り替えるということでしょうか?  因みにどちらでも動作は遅くなりませんでした… ) こちらにDXライブラリのソースコードをビルドして実行する形のプロジェクトをアップしましたので、 https://dxlib.xsrv.jp/temp/DxLibSourceTest_WithUseCLib.zip よろしければ A.exe, B.exe, C.exe を実行した状態でこちらのプロジェクト( DxLibSourceTest_WithUseCLib.sln という ソリューションファイルが中に入っています )をデバッグ実行していただいて、エラーになってブレークしましたら、 DXライブラリの何というファイルの何行目でエラーが発生して止まってしまったかをご確認の上、教えていただけないでしょうか? m(_ _;m > すみません、上記サイトからダウンロードしてA,B,C,Dを起動するとき > win11のディフェンダーに危険なファイルとして認識されるのですが > これはこれで困る気がするのですが・・・なにか問題があるのでしょうか 『危険なファイル』と表示されるのでしょうか? よろしければ表示される文章全体を教えていただけないでしょうか? m(_ _)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.8 )
名前:たろう 日時:2022/09/05 00:14

いつもすみません > DXライブラリの何というファイルの何行目でエラーが発生して止まってしまったかをご確認の上、教えていただけないでしょうか? 実行してエラーが出たときに出た 「例外がスローされました」ウィンドウの内容でよろしいでしょうか? 以下のように表示されました ----------------------------------------------------- 0x00000000010035CC で例外がスローされました (DxLibSourceTest_WithUseCLib.exe 内): 0xC0000005: 場所 0x00000000010035CC の実行中にアクセス違反が発生しました ----------------------------------------------------- > 『危険なファイル』と表示されるのでしょうか? > よろしければ表示される文章全体を教えていただけないでしょうか? m(_ _)m すみません、不正確でした。ダブルクリックすると青いウィンドウが出て以下のように表示されました ----------------------------------------------------- Windows によって PC が保護されました Microsoft Defender SmartScreen は認識されないアプリの起動を停止しました。このアプリを実行すると、PC が危険にさらされる可能性があります。 アプリ: A.exe 発行元: 不明な発行元 ----------------------------------------------------- よろしくお願いいたしますm(__)m
メンテ
Re: DXライブラリ終了途中?のアクセス違反 ( No.9 )
名前:たろう 日時:2022/09/05 03:29

追記 > DXライブラリの何というファイルの何行目 についてですが、visualstudio(2022)には 「フレームがモジュールにありません 読み込まれたモジュールに現在のスタック フレームが見つかりませんでした。この場所のソースは表示できません。」 と出てしまい、それ以上の情報は上記の「例外がスローされました」ウィンドウしかない状態です visual studioの使い方が悪いのかもしれません。どうやったら表示されるようになるでしょうか? あいかわらず知識が足りず、すみませんm(__)m 追記 (もう一つすみません) visualstadioを使わずに、ただ私の作った「A.exe」「B.exe」「C.exe」「D.exe」の4つを同時起動した場合にも 動きが遅くなったりしませんでしたでしょうか?
メンテ

Page: 1 | 2 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存