Ctime () вызывает Sigabrt (?!)
Вопрос
Это код:
общийХотя есть механизм блокировки, в этом случае функция не вызывается одновременно, поэтому я думаю, что проблема не в этом.Однако программа получает общий код тега:
общий Понятия не имею.SIGABRT
возвращает пустую строку, и на странице руководства этот случай не упоминается.И если подумать, я не понимаю, почему он возвращает пустую строку и что не так с этим кодом.
Любая помощь приветствуется.
Решение
ctime
не возвращает пустую строку.Он еще не вернулся, потому что разбился при попытке сделать свое дело.
Сбой происходит внутри free()
, поэтому вы, вероятно, повредили память в какой-то момент перед вызовом ctime()
.Если вы работаете на поддерживаемой платформе, попробуйте использовать такой инструмент, как Valgrind, для проверки доступа к вашей памяти.
Другие советы
Поскольку сбой происходит внутри ctime()
, а указатель, который вы передаете, действителен, проблема, скорее всего, в том, что вы уже вышли за пределы памяти (в трассировке стека есть free()
) где-то еще, и проблема только проявляетсясам здесь.