• 締切済み

malloc()関数内でセングメント例外が発生する

malloc()を使用する箇所にメモリ確保時の例外処理を 行うようにしていますが、そこに移る前にシステム関数 でセグメント例外にて落ちてしまいます。 原因が分かりません。 pstack core: ff041bf8 _smalloc (8, ff0c27a0, 0, 8, 0, 0) + 8c ff041c38 malloc (2, 0, ff0bc000, ff041c44, d00180, 0) + 20 ff15635c __1c2n6FI_pv_ (2, 82247, 13640, 557cc, ff169978, 2) + 28 000557cc __1cJSnmp_TrapNsnmp_trapsend6Fpkc222ki3E_b_ (163a8d8, 163a8f8, ffbedefc, ffbedf1c, 6, 1) + 17c 00055320 __1cJSnmp_TrapQsnmp_trapsendAll6MkiE_b_ (15b4648, 111e560, 81f88, 89438, d18ca0, 82050) + 5c0 宜しくお願い致します。

みんなの回答

  • mo_aries
  • ベストアンサー率25% (1/4)
回答No.2

noname#6581さんの言うとおり、多分そこに至るまでの処理が問題でしょうね。 公開して問題の無い程度でソースの一部(流れが分かる事)を載せてみては如何でしょうか? 使用している変数の定義、初期化処理、代入処理等 mallocを使用している付近で関係しているものをトレースしてみるのも手だと思います。 特に直前にコールするサブルーチンがあればそこで破壊している可能性もありますね。

noname#6581
noname#6581
回答No.1

そういう場合は大抵、そこに至るまでの処理でメモリを破壊しています。 下記の観点でソース全体をチェックしてください。 ・確保した領域をはみ出して書き込んでいないか ・不正なポインタを使用していないか ・free済みのメモリへのポインタを保持していてそれを使用していないか などです。

SpeedStep
質問者

お礼

情報有り難う御座います。 ソースはチェックしておりますが、具体的に どこが悪いのかが分かりません。 申し訳ありませんが、初心者にも分かるように チェックポイントをお教え頂けると幸いです。

関連するQ&A