DEBUG/異常終了したときにコアダンプを出力するように設定する
の編集
Top
/
DEBUG
/
異常終了したときにコアダンプを出力するように設定する
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#navi(../) * Cプログラムが異常終了したときにコアダンプを出力するように設定する [#ae038c7d] segmentation faultなどによりプログラムが異常終了したとき、コアダンプのファイルが出力されていない場合は、以下の設定で出力されるようになります。~ #contents #htmlinsertpcsp(c-top.html,c-sp.html) * 関連記事 [#l1268e40] -[[EFBIG(errno=27)対処方法>DEBUG/EFBIG(errno=27)対処方法]] -[[メモリリークなどを探すツール・Electric Fence>DEBUG/メモリリークなどを探すツール・Electric Fence]] -[[errnoエラー番号に対する説明を表示する方法・strerror>DEBUG/errnoエラー番号に対する説明を表示する方法・strerror]] -[[C言語ソースコードの行番号を表示する方法>DEBUG/ソースコードの行番号を表示する方法]] -[[Cプログラムが異常終了したときにコアダンプを出力するように設定する>DEBUG/異常終了したときにコアダンプを出力するように設定する]] * コアダンプの出力設定確認 [#a7302011] ターミナルを起動し以下のコマンドを実行してください。 ulimit -a ulimit -a の出力の上記出力がコアダンプファイルの出力サイズになります。~ この場合、値が0なので出力されません。 core file size (blocks, -c) 0 $ 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) 16046 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) 16046 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited *コアダンプを出力する設定方法 [#wf5b4ba3] 出力させる方法は以下の操作により可能です。 -デバッグ対象プログラムを起動前にulimitコマンドを実行する(-c以降に最大出力サイズを指定する) ulimit -c 10000000 -生成するCoreのサイズを制限しない場合は以下のように設定します。 ulimit -c unlimited -毎回ulimitを設定するのは面倒なので.bashrcなど記述する viやgeditなどのエディタを起動し.bashrcにulimit -c <値>を追記する。~ 以下のように追記しておけば毎回設定する必要がありません。~ 以上、プログラム以上終了時にコアダンプを出力する設定方法でした。 #htmlinsertpcsp(c-btm.html,c-sp.html)
タイムスタンプを変更しない
#navi(../) * Cプログラムが異常終了したときにコアダンプを出力するように設定する [#ae038c7d] segmentation faultなどによりプログラムが異常終了したとき、コアダンプのファイルが出力されていない場合は、以下の設定で出力されるようになります。~ #contents #htmlinsertpcsp(c-top.html,c-sp.html) * 関連記事 [#l1268e40] -[[EFBIG(errno=27)対処方法>DEBUG/EFBIG(errno=27)対処方法]] -[[メモリリークなどを探すツール・Electric Fence>DEBUG/メモリリークなどを探すツール・Electric Fence]] -[[errnoエラー番号に対する説明を表示する方法・strerror>DEBUG/errnoエラー番号に対する説明を表示する方法・strerror]] -[[C言語ソースコードの行番号を表示する方法>DEBUG/ソースコードの行番号を表示する方法]] -[[Cプログラムが異常終了したときにコアダンプを出力するように設定する>DEBUG/異常終了したときにコアダンプを出力するように設定する]] * コアダンプの出力設定確認 [#a7302011] ターミナルを起動し以下のコマンドを実行してください。 ulimit -a ulimit -a の出力の上記出力がコアダンプファイルの出力サイズになります。~ この場合、値が0なので出力されません。 core file size (blocks, -c) 0 $ 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) 16046 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) 16046 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited *コアダンプを出力する設定方法 [#wf5b4ba3] 出力させる方法は以下の操作により可能です。 -デバッグ対象プログラムを起動前にulimitコマンドを実行する(-c以降に最大出力サイズを指定する) ulimit -c 10000000 -生成するCoreのサイズを制限しない場合は以下のように設定します。 ulimit -c unlimited -毎回ulimitを設定するのは面倒なので.bashrcなど記述する viやgeditなどのエディタを起動し.bashrcにulimit -c <値>を追記する。~ 以下のように追記しておけば毎回設定する必要がありません。~ 以上、プログラム以上終了時にコアダンプを出力する設定方法でした。 #htmlinsertpcsp(c-btm.html,c-sp.html)
テキスト整形のルールを表示する