[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2ch.scのread.cgiへ]
Update time : 02/19 06:26 / Filesize : 129 KB / Number-of Response : 496
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.97【環境依存OK】



76 名前:デフォルトの名無しさん [2015/12/07(月) 22:16:48.23 ID:YS1sGdfb.net]
プログラムの経験はあまりないのでなるべく詳しく教えてほしいです

printfによってSegmentation faultが出てしまいました

貰ったプログラムを見ていると関数の初めと終わりにprintf文が書かれてあり、
#ifdef DEBUGで消されてありました。デバッグ用だろうと思いdefine DEBUGを書いて実行したのですが、
あるpthread_createで呼び出された関数を通るとsegmentation faultになってしまいました。。。
調べてみるとどうやらpthread_createで呼び出された関数のprintfが有るか無いかだけでsegmentation faultになるかならないかということが分かりました。

printfがあるかないかのsegmentation faultということが凄く不思議です。
printfが領域を壊しているということでよいのですよね?

ちなみに確か、printf("\tchar xxxxxxxxxxx(www = %d,yyy = %d, zzz = %d); {\n",int www, int yyy、int zzz); とprintf("xxxxxxx end\n")こんな感じでした。


・このpthreadで生まれる関数のprintfの中身をいったん入れるデータ領域などは、pthread_createの時に新たに作られるのでしょうか?
それとも元々のプログラムを実行したときに作られる領域を共有しているのですか?
 ・↑だとしたらpthread_createの時に領域をどれだけ確保しているかとか、わかるのでしょうか?その領域を広げれば解決できるのでしょうか?

・というか、そもそも前提はあっていますか?

・こんな可笑しなエラー、ほかにもありましたら教えてください。

コンパイルはwindows版eclipseのgcc crosscompilerです
実行環境はFreeBSD、ハードウェアのスペックはよくわかりませんが組み込み系です

よろしくお願いします〜!






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<129KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef