トップページ > 記事閲覧
x64でF12キーで例外が発生する
名前:Ketty 日時: 2015/04/22 13:19

管理人様 いつも楽しくDXライブラリを利用させていただいてます(^^) ■報告です x64でDebugビルドした場合に、 ウィンドウ生成後、F12キーを押下すると以下の例外が発生します。 (Win32ビルドでは発生しません。また、x64でReleaseしたexeを起動した場合も発生しません) 「○○.exe によってブレークポイントが発生しました。」というダイアログが表示され、 中断/継続を選択するよう促されます。 中断を選択すると、  「ntdll.pdbは読み込まれていません」という表題のページがコードエディタ内に表示されます。 継続を選択すると、  そのまま処理に戻ります。 以下のシンプルなコードで再現しますので、 ライブラリ内で、アクセス違反があるものと推測しております。 ■再現ソース // ウィンドウを生成して、メインループしているだけです #include <DxLib.h> int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { // ウィンドウモードの設定 ChangeWindowMode( TRUE ) ; // DXライブラリ初期処理 if( DxLib_Init() == -1 ){ return -1 ; } // 描画先を裏画面に設定 SetDrawScreen( DX_SCREEN_BACK ); // ESCキーで終了 while ( ProcessMessage() == 0 && CheckHitKey( KEY_INPUT_ESCAPE ) == 0 ) { ClearDrawScreen() ; ScreenFlip() ; } // DXライブラリ終了処理 DxLib::DxLib_End() ; // ソフトの終了 return 0 ; } ■環境  OS:Windows7 Home Edition 64bit  開発環境:Visual Studio Express 2012 for Windows Desktop  DXライブラリのバージョン:3.13e(※↓こちらであげてくださっているテスト版です)  http://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=3538
メンテ

Page: 1 |

Re: x64でF12キーで例外が発生する ( No.1 )
名前:Nameless 日時:2015/04/22 17:24

DXライブラリ側の問題ではなく、Visual Studioの仕様のようです。 「VC F12 例外」などで検索すると色々出てくると思います。 一応参考にしたURLを一つはっときます。 h ttp://salvw.miscnotes.com/index.php/archives/291
メンテ
Re: x64でF12キーで例外が発生する ( No.2 )
名前:Ketty 日時:2015/04/22 20:27

Nameless さん ご回答くださりありがとうございますm(__ )m >DXライブラリ側の問題ではなく、Visual Studioの仕様のようです。 なるほど・・・!そのような機能があったとは存じませんでした。 今のところ、お伝えいただいたURLとは別で私が見つけられたのは↓の2つです。 http://inugami2.blog27.fc2.com/blog-entry-55.html http://ダブリュー3つ.jttk.zaq.ne.jp/like/tips.html いずれも、個人様のブログでかつ、10年以上前(2003年〜2005年)のエントリーでした。 (正式なやつはまだ見つけられておりません。) たぶんF12=例外発生キーというのが事実なのだろうと思うのですが、 ひとつ腑に落ちないことがあります。 それは、どうしてWin32ビルドだと事象が発生しないのか、です(・_・;ヾ 件のエントリーの通り、F12が例外送出用のショートカットキーとしてレジストリ登録されているのだとすれば、 Win32だろうがx64だろうが発生するはずなのではないのか?と考えてしまいますので不思議です。 ※私は、これまでVC++2010 ExpressにおけるWin32ビルドを常用しており、  VC++2012 Expressでx64ビルドを試し始めたのはここ数日のことで、また、レジストリの知識もありませんので、  ひょっとすると、私の知識不足ゆえにまったく見当違いな話をしているのかもしれません。
メンテ
Re: x64でF12キーで例外が発生する ( No.3 )
名前:管理人 日時:2015/04/22 23:48

私も F12 は問答無用で例外が発生するという認識でしたが、Win32では確かに例外が発生しないですね・・・ 正しい情報は見つかりませんでしたが、適当に推理すると 「OS が 64bitバージョンだから 64bit 実行のときしか F12例外が効かない」 のではないかと思いました 「思えば最後に F12例外を話題にしたのは結構昔で、OS も WindowsXP の 32bit環境だったなぁ」 なんていう曖昧な記憶が根拠だったりしますが・・・ 因みに Visual Studio 2013 でDXライブラリを一切使用せずにウインドウを表示するだけの シンプルなプログラムでも Win32ビルドでは例外が発生せず、x64ビルドでは例外が発生しましたので、 意外と当たっているかもしれません・・・
メンテ
Re: x64でF12キーで例外が発生する ( No.4 )
名前:Ketty(解決) 日時:2015/04/23 13:38

管理人様 ご回答くださりありがとうございます(^^) >因みに Visual Studio 2013 でDXライブラリを一切使用せずにウインドウを表示するだけの >シンプルなプログラムでも Win32ビルドでは例外が発生せず、x64ビルドでは例外が発生しましたので、 わざわざお試しくださりありがとうございますm(__)mなるほどVS2013でも同じなのですね。 >「OS が 64bitバージョンだから 64bit 実行のときしか F12例外が効かない」 確証にはいたらずとも、その説が有力そうですね。 そして、特に実害はありませんから、この件は解決とさせていただきます。 皆様ありがとうございました。
メンテ

Page: 1 |

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

   クッキー保存