signal SEGV (access to address exceeded protections)2015年03月03日 01時08分46秒

プロセスが正体不明のクラッシュをする。同じコードでもプログラムによって、問題なかったり、クラッシュをしたりする場合がある。また、デバッガによっては問題ない時もあった。そこで、dbx で動かしたら、signal SEGV (access to address exceeded protections) が出て止まった。

原因は、スタックに大きい構造体の配列を作ったことだった。特にスレッドプログラムの各々のスタックサイズを越えてしまったかららしい。修正は、malloc/calloc と free を用いてヒープからメモリを割り当てること。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2015/03/03/7583260/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。