[英]malloc() seg fault in localtime()?
这是纽约堆栈
malloc() at 0xb7dfd333
strdup() at 0xb7e01866
tzset_internal() at 0xb7e2ef68
__tz_convert() at 0xb7e2f26a
localtime() at 0xb7e2d901
Send_Trace() at my_trace.c:265 0x8053373
这是令人反感的代码..
void Send_Trace(const char const *Trace_Text, ...)
{
time_t time_now = time(NULL);
tm = *localtime(&time_now);
它通常工作正常,但偶尔会抛出上面显示的段错误。
有任何想法吗?
有任何想法吗?
在malloc
或free
内部崩溃的情况,在99.999%的情况下是其他地方较早的堆损坏的结果。
这可能导致随后的崩溃在堆损坏的例子malloc
:呼吁free
在非分配的内存,呼吁free
一些指针两次,溢或下溢堆分配的缓冲区,等等等等。
查找此类错误的最快方法是: valgrind (如果在您的平台上可用)或AddressSanitizer (在Clang和GCC的最新版本中实现)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.