No.2
- 回答日時:
エラーの内容としては、
確保された安全な領域以外を参照したことによるエラーと捉えても良いと思います。
例えば、配列の添え字を間違えて確保されていない部分を参照したり、ポインタの演算を間違えてまったく関係ないところを参照したりしたときにも発生します。
原因を特定するとして、
仮に、Windows上のVisualC++などでデバッグモードで実行している場合などであれば、Segmentation faultが発生しているところで停止したりするので原因の特定が楽なのですが、
それ以外の環境で調査するとしたら、#1さんが書かれているように、ところどころにprintf等を入れて、変数の内容を出力させるなどして動作確認するしかないでしょう。
上記発生原因の例を参考に、配列の添え字や、ポインタ操作の度に内容確認されてはいかがでしょうか?
No.1ベストアンサー
- 回答日時:
僕も何度も出したなぁ。
ひとくちにSegmentation faultといっても、それこそさまざまな要因があるので、
これだけで原因を突き止めるのは非常に難しいです。
コンパイルはあくまで文法としてみているだけであり、
処理の流れ、メモリ確保など、プログラムそのものを見ているわけではありません。
このエラーが出るのは文法などよりもっと上位の原因なのです。
たとえばですが。
長さ10の配列があったとして、11番目以降を参照したりすると、
そういうのが出たような気がします。
ですから、変数があれば、その内容をprintf文で逐一出していき、
変な値が入っていないとか、少しずつ直していくしかないと思います。
この回答へのお礼
お礼日時:2007/01/12 19:59
ありがとうございます。
解決しました。
どうやら、プログラムの記述にミスがあり、ループがうまくいってなかったようです。
なるほど、勉強になりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- C言語・C++・C# linux C言語について ./ファイル名 入力値 入力値が表示 という風に実行と入力を同時にしたい 3 2022/10/17 16:57
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- C言語・C++・C# C言語の質問です。 以下の命令を実行するプログラムを作りました ①文字列aとbの長さを表示 ②aとb 1 2022/04/29 15:35
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- C言語・C++・C# 3×3のラテン方陣をつくるプログラムを作成したのですが、(↓) #include <stdio.h> 5 2023/07/10 01:53
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
pythonの条件分岐(if)
-
End Sub が必要です。
-
フォートランのエラーについて...
-
フォートラン(fortran)のエラー...
-
intel fortranのエラーで困って...
-
プロシージャ名のところでエラ...
-
構造体のポインタ参照
-
他クラスからForm1内コントロル...
-
fortran 配列宣言のオーバーフ...
-
#ifndefとかヘッダファイルにつ...
-
WindowsでのPythonの挙動について
-
Excel・Word リサーチ機能を無...
-
配列数式の解除
-
特定のPCだけ動作しないVBAマク...
-
String""から型'Double'への変...
-
エクセルで特定の列が0表示の場...
-
UserForm1.Showでエラーになり...
-
教えて下さい
-
メッセージボックスのOKボタ...
-
-2147418107 (&H80010005)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
End Sub が必要です。
-
intel fortranのエラーで困って...
-
Excel VABについて 下記記述が...
-
フォートランのエラーについて...
-
pythonの条件分岐(if)
-
対応する関数ヘッダーがありません
-
43:syntax error at end of input
-
Excel VBA: UserForm.Show で実...
-
フォートラン(fortran)のエラー...
-
#ifndefとかヘッダファイルにつ...
-
Delphiでif文がうまく書けないです
-
AccessVBAでVLookupを使いたい
-
typedef による2重定義
-
構造体のポインタ参照
-
C言語のプログラムが実行できま...
-
DLLの使い方とerror C2146につ...
-
VB2005でOCXを動的に呼び出すに...
-
C2065: 'EnumDisplayDevices' :...
-
解説サイトに従ったfortran並列...
-
他クラスからForm1内コントロル...
おすすめ情報