読み込み中にアクセス違反が発生しました、と出ます。これを回避することはできますか?
C++でプログラミングをしています。
現在、ポインタ(p)に入れたアドレスをずらしていって、メモリの任意の位置の値を表示する、というプログラムを制作しています。
具体的に言うと、上記のプログラムではない別のプログラムを実行し、そのプログラムで宣言した変数のアドレスを表示させます。そしてそのプログラムが動いている最中に、上記のプログラムを起動させ、ポインタpにその変数のアドレスを代入して、表示させようとしました。
しかし、止まってしまいます。デバッグしてみると、「test.exe の 0x00024ad5 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x0014fde8 を読み込み中にアクセス違反が発生しました」と出ます。
なんとかこれを回避して、ポインタに代入したアドレスを表示さすことはできませんか?
宜しくお願いします。
ちなみに、自分がかなり妙なことをしているのは自覚しているつもりです。
No.3ベストアンサー
- 回答日時:
#2です。
もう少し突っ込んで話をすると、今のOSはたいてい仮想アドレス方式で各プロセスのアドレス空間はそのプロセス内でのみ有効なものです。
つまり、プロセスAの0番地とプロセスBの0番地は値は同じでも全く別の箇所を指しているということです。
ですが、プログラムの中には複数プロセスで協調動作させる等の理由により質問のような他プロセスが扱うメモリの中身を参照・変更したい場合があります。
それを実現するのが共有メモリ等の機構である訳です。
No.1
- 回答日時:
> 具体的に言うと、上記のプログラムではない別のプログラムを実行し、そのプログラムで宣言した変数のアドレスを表示させます。
そしてそのプログラムが動いている最中に、上記のプログラムを起動させ、ポインタpにその変数のアドレスを代入して、表示させようとしました。一般的にそういうアクセスはOSが禁じているので出来ません。OSがエラーを出しているのでC/C++のプログラミングの問題ではありません。
自作OSとかでそういう保護機能がない場合は可能でしょうけど。欲しければ自分で作ってください。
共有メモリ等の機能を使えば、その範囲でなら可能となりますが、OSの記載が無いのでそれ以上はなんとも言えません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- HTML・CSS ホームページにブログ記事をサムネイル付きで掲載する方法 2 2022/11/25 14:55
- システム CPUの問題について 2 2022/07/09 12:04
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- その他(プログラミング・Web制作) プログラムが書けません。 6 2023/01/22 22:58
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
「読み込み違反」が起きたときのデバッグ方法
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
適切な変換関数が存在しない???
C言語・C++・C#
-
-
4
deleteで開放するとエラーになる原因がわからない
C言語・C++・C#
-
5
画面を強制的に再描画させる方法
C言語・C++・C#
-
6
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
7
エラーの原因は?「この関数の定義が見つかりません」
C言語・C++・C#
-
8
「fatal error C1189」を回避するには?
C言語・C++・C#
-
9
CString から LPCTSTRの型に変換
C言語・C++・C#
-
10
charからLPTSTRへの変換方法
C言語・C++・C#
-
11
Run-Time Check Failure #3というエラーが出ます。
C言語・C++・C#
-
12
アプリケーション終了時例外エラー(アクセス違反)の調査方法について
C言語・C++・C#
-
13
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
14
WaitForSingleObjectの使い方について
C言語・C++・C#
-
15
TCHAR文字列?の特定部分の数字文字をint型の数値に変える方法
C言語・C++・C#
-
16
char* を渡したとき、不適切なPtrが出る問題
C言語・C++・C#
-
17
Debug Assertion Failed?
C言語・C++・C#
-
18
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
19
ダイアログ表示時にチェックボックスにチェックされている状態にするには?
C言語・C++・C#
-
20
C言語で、メモリを解放しないで終わるプログラム
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あるプログラムのコマンドライ...
-
このプログラミング誰か教えて...
-
Excelで4096点以上のFFTの方法
-
パックマンプログラム
-
「Outlookが他のプログラムによ...
-
PICマイコンのコピー(クローン...
-
自動クエリとはどういうもので...
-
UWSCで指定のフォルダを開きたい。
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
円周率を求めるC言語のプログラム
-
excelのexe化について
-
VBAを使って、pdfを関連付けら...
-
ロボットの作り方を教えて下さ...
-
VBAにてメール作成した際、一部...
-
表計算プログラムの作り方
-
寿命
-
C言語でプロセスをWAITさせる方...
-
C言語でのaccess violationに...
-
外部プログラム呼び出し
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelに埋め込んだVBAのプログ...
-
Notepad++の関数リスト表示でC...
-
あるプログラムのコマンドライ...
-
これってほんとにみますか?
-
Excelで4096点以上のFFTの方法
-
「Outlookが他のプログラムによ...
-
自動クエリとはどういうもので...
-
VBAでユーザーフォームが自動的...
-
VBAにてメール作成した際、一部...
-
PICマイコンのコピー(クローン...
-
テキストボックスのエンターキ...
-
読み込み中にアクセス違反が発...
-
特定のwebサイトのタイトルや記...
-
未使用の変数を一括検索する方法
-
モジュール、アプリケーション...
-
COBOLの連絡領域について
-
Google カレンダーの商用利用
-
エクセルとワードをデスクトッ...
-
ドロップダウンリストの文字を...
-
binファイルってiphone専用です...
おすすめ情報