ctime()がSIGABRTを引き起こしている(?!)
質問
これはコードです: ジェネラコディセタグプレ
ロック機構はありますが、この場合は関数が同時に呼び出されないので、問題ないと思います。ただし、プログラムは一般的なタグコードを受け取ります: ジェネラコディセタグプレ
私には手がかりがありません。SIGABRT
は空の文字列を返していますが、manページにはこのケースについては記載されていません。考えてみると、なぜ空の文字列が返されるのか、そのコードの何が問題なのかわかりません。
どんな助けでも大歓迎です。
解決
ctime
が空の文字列を返していません。何かをしようとしたときにクラッシュしたため、まだまったく戻っていません。
クラッシュはfree()
内にあるため、ctime()
を呼び出す前のある時点でメモリが破損している可能性があります。サポートされているプラットフォームで実行している場合は、Valgrindなどのツールを使用してメモリアクセスを確認してみてください。
他のヒント
クラッシュはctime()
内で発生しており、渡したポインタは有効であるため、問題はすでにどこか別の場所でメモリ(スタックトレースにfree()
があります)で範囲外に踏みにじられている可能性があり、問題は明らかになっているだけですここにそれ自体。
所属していません StackOverflow