
たとえば、Metasequoiaさんのページにありますように、読み込み違反が発生しプログラムが停止したとき「”main.exe”のアドレスXXXXXXでYYYYYYに対する読み込み違反が発生しました。」などどいうメッセージが出ることがあります。
http://www.metaseq.net/metaseq/bbs.html
まれに、このアドレスをメモしておいて、報告してほしいという開発者さんを見かけます。例えば、上記Metasequoiaさんの場合もそうです。
例えば、VC++やBorland、GCCなどで開発している場合、このアドレスからいかにしてデバッグするのでしょうか?「私はこうしてる」などと言ったお話が聞ければと思い質問させていただきました。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
そういう情報を元にしたデバッグにはデバッガを使います。
VC++とかの統合環境ならデバッガを内蔵してるし、gccを使ってるならgdbで。
「アドレスXXXXXXで」の方の値は、実行している命令のアドレスを示しています。これは、同じプログラムであれば、ユーザー環境でも開発環境でもどこで実行しても同じになります。
ですから、開発側でデバッガを使うことで「どの関数のどの文を実行している時にエラーが発生したのか」がわかります。
「YYYYYYに対する読み込み違反」の方の値はデータアドレスなのですが、こちらは実行条件によって値が変わってきます。そのため、ユーザーの環境をそのまま開発環境に再現することはできません。
ですが、「00000000」とか「FFFFFFFF」とかの特徴的な値が出てきたとしたら、そこからコード上の問題を追及できる可能性はあります。
回答ありがとうございます。
>「アドレスXXXXXXで」の方の値は、実行している命令のアドレスを示しています。これは、同じプログラムであれば、ユーザー環境でも開発環境でもどこで実行しても同じになります。
>ですから、開発側でデバッガを使うことで「どの関数のどの文を実行している時にエラーが発生したのか」がわかります。
なるほど。アドレスは必ず一緒になるので、そこから絞り込むということですか。一点きになるのは、読み込み違反などの場合「エラー発生箇所とは別の箇所で変なことをしてしまって落ちる」ことが多いように思うのですが、このアドレス情報からだとピンポイントで絞れたりするものなのでしょうか?無いよりはまし、もしくは、エラー再現のために役立てるのでしょうか?
>「00000000」とか「FFFFFFFF」とかの特徴的な値が出てき
もし、何か例をご存知でしたら、教えていただけないでしょうか?
No.2
- 回答日時:
mapファイルなどを作成していると、どの辺りでエラーになったのか等の追跡が可能です。
MSのサイト。
http://support.microsoft.com/kb/196755/ja
「mapファイル デバッグ」での検索結果。
http://www.google.co.jp/search?hl=ja&q=map%E3%83 …
他に各DLL等がどこにロードされたか…という情報もあるといい感じです。
# VCで標準のままだとDLLファイル内に書かれるロードアドレスは同一になってしまいます。
# そのようなDLLを複数読み込んだ場合、アドレスがかぶってしまうのでOSが適切なアドレスに再配置してくれます。
# ということで、どこにロードされたのか…という情報もあるとよい…ということに。
一度お礼を投稿したと思ったのですが、今見たら投稿されていなかったようで申し訳ありません。
URL先を見ますと、まさに私が知りたかった内容そのままの様ですね。非常に参考になりました。以外に複雑なというか、煩雑なことをしているのだなぁという印象です。統合開発環境ではこのあたりをボタン一つで調べられたりするものなのでしょうか。
何はともあれ、出発点には立てたように思います。どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 訴訟・裁判 2ちゃんねるの歴史 からして 認証システム は必要ですか? 1 2022/10/09 05:39
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- 知的財産権 取扱説明書の取扱いで違法になるのはどれでしょうか? 2 2022/08/01 17:12
- Chrome(クローム) 最近のGoogle Chromeのデータ読み込みの遅延やエラーって頻発しますか? 2 2023/01/06 22:12
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- Excel(エクセル) vba レジストリの値を読み込教えてください教えてください 1 2023/07/14 14:09
- その他(悩み相談・人生相談) 読売新聞の「人生案内」読んでますか? 3 2022/04/14 22:43
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- その他(インターネット接続・インフラ) ブラウザにIPアドレス入力した時 1 2022/06/16 19:08
- ヤフオク! ヤフオク 利用停止 作り直し 3 2022/08/17 02:08
このQ&Aを見た人はこんなQ&Aも見ています
-
モジュール違反て何?
Windows 95・98
-
読み込み中にアクセス違反が発生しました、と出ます。これを回避することは
C言語・C++・C#
-
アプリケーションエラー
Windows Vista・XP
-
-
4
テーブルの存在チェックについて
Oracle
-
5
データベース関係で、データの洗い替えとはどのような事を行うことでしょう
IT・エンジニアリング
-
6
MSPでアドレス00000000読み込み違反?
フリーソフト
-
7
オートシェイプを滑らかに動かしたい!
Excel(エクセル)
-
8
C++Builderのエラーメッセージ
C言語・C++・C#
-
9
オブジェクトブラウザでデータをエクスポート/インポートする方法
その他(データベース)
-
10
パワーポイントをエクセルファイルへ
PowerPoint(パワーポイント)
-
11
C++Builderのクラス
C言語・C++・C#
-
12
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
13
[Delphi] データセットは閉じているため・・・の出し方。
その他(プログラミング・Web制作)
-
14
C++Builder リンカエラーとは?
C言語・C++・C#
-
15
C++Builder 2009 テキストボックスの文字列取得
C言語・C++・C#
-
16
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
17
Debug Assertion Failed?
C言語・C++・C#
-
18
[Delphi 10.2] UTF-8からShift-JISへの変換
その他(プログラミング・Web制作)
-
19
DelphiのRichEditでカーソル位置を取得したいのですが
その他(プログラミング・Web制作)
-
20
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Delphi 閉じてないウインドウを...
-
Windows64BitOSでVB5.0のPG起動
-
VB2005 Vistaで印刷ができません
-
PDF 印刷 VBA
-
CreateFile が ERROR_PATH_NOT_...
-
ipconfigの表示について
-
VC++2010でのエラー
-
エラーが出ても、それより後の...
-
VBで「ファイル名を指定して実...
-
clickonceの使い方
-
excel vbaから実行するexe実行...
-
外部exe呼び出しの方法 ShellEx...
-
androidで.exeを実行できますか?
-
Windows PowerShellでC言語を実...
-
(msvcr71d.dll) でハンドルされ...
-
JP1から起動したexeでhttpリク...
-
キー操作 (WSH:コピー&ペー...
-
派遣社員ですビジュアルベーシ...
-
Visual Studio 有料と無料比較
-
VB6からACCESSのレポートを印...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Visual Studio 「AnyCpu」について
-
「読み込み違反」が起きたとき...
-
excel vbaから実行するexe実行...
-
C++初心者です。 debug asserti...
-
VB6.0 exe作成時に実行時エラー...
-
実行ファイル(.exe)が別のPC...
-
mscorlib.dllの初回例外について
-
Windows PowerShellでC言語を実...
-
外部exe呼び出しの方法 ShellEx...
-
技術評論社 Microsof...
-
ActiveDirectoryから値を取得
-
C#VB、exeに埋め込んだexeの実行
-
VS2008 の C++ で作成したEXEの...
-
VB.NetのWinsockについて
-
エラーが出ても、それより後の...
-
androidで.exeを実行できますか?
-
VisualStudioでC#が実行できない
-
VBで「ファイル名を指定して実...
-
JP1/File Transmission Server/...
-
Format 関数のバグ?
おすすめ情報