[英]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.