経験したことのない例外が

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

経験したことのない例外が

#1

投稿記事 by Suikaba » 12年前

今回もお世話になります。
僕は現在、ゲームを開発しているのですが見たことのない例外が目についたので質問させて頂きました。
発生したのは以下の例外です。

hoge.exe の 0x75f4b9bc で初回の例外が発生しました: Microsoft C++ の例外: dl::sys::win32::registry::CannotReadValueException (メモリの場所 0x002ee390)
hoge.exe の 0x75f4b9bc で初回の例外が発生しました: Microsoft C++ の例外: dl::sys::win32::registry::KeyDoesNotExistException (メモリの場所 0x002ee3e8)

直訳すればそのままっちゃそのままかもしれませんが、google先生にお問い合わせしてもいまいちでした。
一応プログラム自体は起動・終了ともに正常に(?)動作しております。
もし分かる方がいらっしゃれば教えてくださるとありがたいです。

開発環境 VS 2010 Pro
開発言語 C++

アバター
bitter_fox
記事: 607
登録日時: 13年前
住所: 大阪府

Re: 経験したことのない例外が

#2

投稿記事 by bitter_fox » 12年前

感覚で答えますがレジストリの存在していないキーや値を読もうとしてるのではないでしょうか?

読み込もうとしているレジストリのキーや値が実際に存在しているか確認してみてください。(なんかコンセントはちゃんとつながっていますか的な回答になってしまってすみません。)

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#3

投稿記事 by Suikaba » 12年前

返信早いですね・・・w
読み込もうとしているレジストリのキーを調べる(VSでの話ですよね)のがぴんと来ません。
調査してみます。ありがとうございます。

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

Re: 経験したことのない例外が

#4

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

何か変わったライブラリを使っているとかはないです?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#5

投稿記事 by Suikaba » 12年前

>> softyaさん
その通りです。
とある知り合いの方が作ったフレームワークを使用しています。
ただ、今日になって初めて出たので、フレームワークの問題かどうかははっきりとしてません。
使用してから何ヶ月もたってますし。

【追記】
運良く動いてただけってこともありますけどねw
ずっと後になって昔のバグが現れることはありますし。

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

Re: 経験したことのない例外が

#6

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

Suikaba さんが書きました:>> softyaさん
その通りです。
とある知り合いの方が作ったフレームワークを使用しています。
ただ、今日になって初めて出たので、フレームワークの問題かどうかははっきりとしてません。
使用してから何ヶ月もたってますし。
とりあえず問題が出ていないならtry~catchで処理されている可能性が高いです。
なので気にしないのがひとつの方法。
該当アドレスに直接ブレークポイントを設定してトレースするのがもう一つの方法です。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#7

投稿記事 by Suikaba » 12年前

なるほど、了解しました。
時間があればトレースしようと思います。
ありがとうございました。これにて解決とさせて頂きます。

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#8

投稿記事 by Suikaba » 12年前

とりあえずMainの先頭にブレークを貼ってデバッガを動作させた後、アドレスに直接ブレークを張ってみましたが止まってくれませんでした。
フレームワークの問題云々以前の問題なのでしょうかね。

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

Re: 経験したことのない例外が

#9

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

逆アセンブラリストで見ながら、その前の命令にもブレークしてみたらどうでしょう?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#10

投稿記事 by Suikaba » 12年前

なるほど。ありがとうございます。

【追記】
普通に止まってくれました。
が、ここからどうすればいいかわからないということに気が付きました。
もしよろしければ教えていただけないでしょうか。ずっとこんな調子ですが申し訳ありません。

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: 経験したことのない例外が

#11

投稿記事 by YuO » 12年前

場合によっては,例外が起きるライブラリを例外が起きる前提で利用し,例外を捕らえることによってエラーを検知している可能性もあります。
レジストリなども,「キーが開けるかどうかは開いてみないとわからない」ものなので (事前チェックと開くまでの間に状況が変わるかもしれない),
とりあえず開いてみて例外が出たら対処する,という方針もあり得ます。

で,この例外はどこまで伝播しているのでしょうか。
フレームワークの中で止まっているのであれば,フレームワーク自身が予期した例外の発生である可能性が高いです。
VSは例外が発生した場合に,処理された例外についても発生をレポートするため,見えているだけかもしれません。
気になるのであれば,作成した方に尋ねてみるのがよいと思います。

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#12

投稿記事 by Suikaba » 12年前

回答有り難うございます。
最終的に、プログラムは正常に動作しているので放置しようと考えていました。
製作者さんは最近忙しそうなので、問題が出たら聞いてみようと思います。
ありがとうございました。

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

Re: 経験したことのない例外が

#13

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

Suikaba さんが書きました:なるほど。ありがとうございます。

【追記】
普通に止まってくれました。
が、ここからどうすればいいかわからないということに気が付きました。
もしよろしければ教えていただけないでしょうか。ずっとこんな調子ですが申し訳ありません。
どの処理のDLLかを確認。
ソースコードがあるならソースコード見て何をしているか確認。
呼び出し履歴で何の処理の最中に行われるかを確認。
文字列から、どのレジストリキーを処理しているのかも確認出来るかも。

あたりでしょうか。
まぁ、ライブラリの作者に聞くほうが早いのは確かです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

Suikaba
記事: 194
登録日時: 13年前

Re: 経験したことのない例外が

#14

投稿記事 by Suikaba » 12年前

>> softyaさん
返信有り難うございます。
問題が発生したら、製作者に問い合わせますね。
リストまで挙げて下さってありがとうございます。

閉鎖

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