C言語であるプログラムを作っています。コンパイルは上手くできるのですが、実行するとセグメンテーション違反と出てしまいます。それもセグメンテーション違反と出るときと出ないときがあり困っています。そこでプログラム中のどこがセグメンテーション違反を指しているのか知りたいのですが、何かセグメンテーション違反の場所を教えてくれるようなオプションはないでしょうか? プログラムソースを見てもらうのが一番いいと思いますが、行数が1000行を超えているので断念しました。OSはLinuxでコンパイラはgccです。どなたかご教授お願いします。
No.3
- 回答日時:
gdb core
で、検索してみてください。
どこの関数で、coreファイルが吐かれたかまで、
おおよその範囲で終えます。
参考URLに、まさに今回の件に該当する内容が
記述されています。
Solaris だと、pstack コマンド。
参考URL:http://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/de …
回答ありがとうございます。coreを吐かせて原因をさぐってみようと思います。参考URLも活用させていただきます。ありがとうございました。
No.1
- 回答日時:
巨大な配列を使っていませんか?
配列のサイズが大きすぎると、個々のユーザに割り当てられた
スタックのサイズを超えてしまい、segmentation faultになります。
配列のサイズを小さくしてコンパイル→実行してみて、
うまくいくか確認してみてください。
うまくいくようなら、シェルのプロンプトから
ulimit -s unlimited
と打ち込んでから(スタックサイズを無制限にするコマンドです)
再度コンパイル→実行してみてください。
早速の回答ありがとうございます。配列はint tekitou [2000]を6回ぐらい宣言していました。そこで配列のサイズを半分の1000にしてみたんですが、セグメンテーション違反とでてしまいました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
実行後にコンパイルに失敗しま...
-
共有ライブラリの内容確認について
-
グラフィックス
-
#defineとconstについて
-
ビープ音が鳴りません・・・
-
math.hに含まれる関数が使えない
-
VS2010環境で2点ほど質問
-
Visual studio2022 コンパイル...
-
C++のvectorについて教えてくだ...
-
gccを使ってのリンク時のライブ...
-
Visual Basic.NETの処理速度は6...
-
[COBOL] ソースの復帰
-
ヘッダーファイル『windows.h』...
-
Verilog_HDLでのdefineとifdef
-
ソフトのインストール方法について
-
自作DLLの中身を暗号化
-
gcc バージョン違いによるコン...
-
VB ネイティブコンパイルについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
すべてのリビルド: 0 正常、 0 ...
-
実行後にコンパイルに失敗しま...
-
c言語です コンパイルした時に...
-
math.hに含まれる関数が使えない
-
[COBOL] ソースの復帰
-
C言語で作ったらWindowsでもMac...
-
C#で char型とstring型の比較で...
-
gcc コンパイル killed
-
64ビットのlinuxで32ビットメモ...
-
共有ライブラリの内容確認について
-
ビープ音が鳴りません・・・
-
自作DLLの中身を暗号化
-
バスエラーとは?
-
VS2010環境で2点ほど質問
-
MVSマシンで0C7でABENDしたので...
-
プレコンパイルの意味を教えて...
-
サクラエディタとコンパイラ
-
実行ファイルが作成環境以外のP...
おすすめ情報