ubuntu 16についてあります.04セグメントエラー(コアダンプ)の解決方法

1312 ワード

ソフトウェアの需要のため私は1つのテストソフトウェアを書いて、私は2つのu 8のbufを定義して1280*720*8の大きさで、同じく少なく15 Mの大きさに接近して、文法が間違いがない情況の下で直接セグメントの誤り(核心はすでにダンプしました)の誤りを報告します.関連する資料を探して、ここで記録します.
Linuxの次のコマンドを使用する必要があります.
ulimit -a

パソコンの情報は以下の通りです.
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14694
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14694
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

現在のコンピュータスタック(stack)のサイズを調べると、スタック空間は配列などのデータを格納するために使用されているので、間違いは私たちの格納配列が彼のサイズを超えているはずです.私のコンピュータのスタックのサイズは8192で、明らかに私の15 Mはすでに超えています.この問題を解決するにはコマンドが必要です.
ulimit -s 102400

自分に合った大きさに変更して、ここで100 Mに変更して、それから私はツールをコンパイルして実行して問題ありません.もちろん、この方法は一時的な方法で、端末を開くたびに修正する必要があります.これは面倒です.もし友达が何かもっと良い方法があることを知っていたら、下に伝言を残してもいいです.