dmalloc

    0熱度

    2回答

    執行此代碼時,庫dmalloc以某種方式確定存在訪問超出界限的內存。因爲它分配了1023個元素並試圖訪問第1024個元素。 (數組索引是從0開始的)。 #include "dmalloc.h" int main(){ char *ch = malloc(1023); ch[1023] = 0x00; return 0; } 它怎麼知道?

    1熱度

    2回答

    雖然嘗試編譯猞猁,我用了「有-dmalloc」配置選項。但是編譯中止,產生這個錯誤: /usr/include/dmalloc.h:460: error: expected identifier or '(' before '__extension__' > /usr/include/dmalloc.h:484: error: expected identifier or '(' before

    1熱度

    2回答

    我想用g ++ 4.7使用dmalloc。 錯誤消息我得到有: /usr/include/dmalloc.h:457:32: error: declaration of 'char* strdup(const char*)' has a different exception specifier /usr/include/string.h:130:14: error: from previous

    4熱度

    1回答

    我試圖編譯鏈接我的程序與「dmalloc」時出現問題。 bin +--dmalloc include +--dmalloc.h lib +--libdmalloc.a +--libdmallocth.a main.c 我有以下目錄結構 現在我嘗試編譯我的程序使用以下命令: gcc -Iinclude -Llib -ldmalloc -DDMALLOC main.c /tm

    1熱度

    1回答

    我想使用dmalloc版本5.5.2和glibc 2.17。 在dmalloc中鏈接總是會導致段錯誤。 調試時,我發現dmalloc在要格式化有用的調試消息時調用vsnprintf(...)。不幸的是,vsnprintf(..)本身調用free(),所以分段錯誤的原因是遞歸。 free()調用vsnprintf(),vsnprintf()調用free()等,等等,直到我們用一個巨大的堆棧跟蹤seg