![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
Microsoft Visual C++でプログラムを行っていたのですが、プログラムを実行すると、エラーが発生します。
そこでデバッグを行ったら、
ハンドルされていない例外は”アプリ名.exe”にあります
:0xC0000005:Access Violation。
というメッセージが出てきました。
ネットでAccess Violationについて調べたのですが、いまひとつ理解できません。
これはどういうことなのでしょうか?また、解決策をご教授願えないでしょうか?
初心者なので、可能な限り専門用語などを使わない、わかりやすい解説をしていただけると幸いです。お願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_10.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
アクセス違反。
システム自身の保護機能発動。おそらくアクセスできないメモリにアクセスしてる。
どんなプログラムか不明ですが、
・char[]等: バッファの最後よりも後ろへ出力しようとしてる
・printf系: 書式指定箇所を埋めるのにパラメータが足りない
などが良く引っかかる点。
プログラムを晒せば、もっと的確なレスポンスが付くかもしれません
No.4
- 回答日時:
対策としては,正しくプログラムを作ることしか有りません.
Cの場合,ありとあらゆるミスが,Access Violationに繋がる可能性があります.どれか1点だけ停策して済むものではありません.
No.3
- 回答日時:
VISUALC++だったらデバッガも含まれていますよね.
デバッガの元で動かすと,エラーの原因となった行が判ります.
ライブラリでエラーが起きているのなら,それを呼び出した側に問題があります.このばあい呼び出し元もデバッガでは表示されます.
バグの間接的影響でAccessViolationが起きている場合は追跡がやっかいですが...
0xC0000005というと,配列のお尻を突き抜けたと言うより,点で見当違いのアドレスにアクセスしてしまった臭いですね.
この回答への補足
初心者なので、詳しくは理解できていないのでしょうが、なんとなく原因がわかった気がします。
そこで、あつかましいようなのですが、配列のてんで見当違いのアドレスにアクセスしてしまうのを防ぐにはどのようにしたらよろしいのでしょうか?
ご指導ください。
No.2
- 回答日時:
No.1さんの回答に加えて…
ポインタの操作ミス。
開放済みのヒープにアクセスした等。
プログラムを晒してみる。というのには賛成ですが…
ポインタ操作が原因の場合、不具合の原因となるコードと不具合の発生する場所が違うので探すのは一苦労します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- Windows 10 VirtualBoxで起動できないゲームがあります 2 2022/12/17 06:13
- オープンソース IT用語、ソースとオブジェクト、改変と翻訳と翻案の違いなど どのようにりかいすればよいのですか 1 2022/09/09 10:02
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Outlook(アウトルック) outlookの送信エラーについて 1 2022/05/13 12:04
- Windows 10 Windows 11の累積更新プログラム KB5016629 がインストール出来ない。 2 2022/08/16 12:23
- 画像編集・動画編集・音楽編集 Native Accessのインストールが先に進みません 2 2022/09/14 13:34
- C言語・C++・C# C# 標準出力のencodingをutf8にする 1 2023/02/15 12:38
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
【VC++6.0(MFC)】Access Violationの対応の仕方
C言語・C++・C#
-
画面を強制的に再描画させる方法
C言語・C++・C#
-
-
4
アプリケーション終了時例外エラー(アクセス違反)の調査方法について
C言語・C++・C#
-
5
「AccessViolationException」と出てしまい、困っています
Visual Basic(VBA)
-
6
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
7
fopne で失敗する原因
C言語・C++・C#
-
8
CStringの文字列検索&抜き出しについて
C言語・C++・C#
-
9
std::wstringのメモリリークについて教えてださい
C言語・C++・C#
-
10
LoadLibraryでAccess Violation 発生。
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
VBAにてメール作成した際、一部...
-
Excelに埋め込んだVBAのプログ...
-
Vba 実数および実数タイプの変...
-
モジュール、アプリケーション...
-
インクリメント演算子のみを用...
-
等差数列の和を求めるプログラム
-
エクセルとワードをデスクトッ...
-
PICマイコンのコピー(クローン...
-
画像を読み込むのと取り込むの...
-
読み込み中にアクセス違反が発...
-
C++で誤差関数erf(x)を使いたい...
-
VBAでユーザーフォームが自動的...
-
FANUC(Series 0)のNCプログラム...
-
「Outlookが他のプログラムによ...
-
VC++コンソールアプリでウイン...
-
自動クエリとはどういうもので...
-
CreateObject関数について
-
COBOLでBLOCK CONTAINS句につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
Vba 実数および実数タイプの変...
-
インクリメント演算子のみを用...
-
スポーツ施設での出来事で心配...
-
VBAにてメール作成した際、一部...
-
VBAでユーザーフォームが自動的...
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
PICマイコンのコピー(クローン...
-
「Outlookが他のプログラムによ...
-
読み込み中にアクセス違反が発...
-
未使用の変数を一括検索する方法
-
自動クエリとはどういうもので...
-
エクセルとワードをデスクトッ...
-
binファイルってiphone専用です...
-
ドロップダウンリストの文字を...
-
UWSCで指定のフォルダを開きたい。
-
モジュール、アプリケーション...
-
パックマンプログラム
おすすめ情報