⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbg_heap_record.cpp

📁 memory checkd 一个工具 潜入到自己的code里面可以调试
💻 CPP
字号:
class memory_record{    friend class dbg_heap_record_list;    memory_record(void *p, memory_record *next, size_t line, const char *file, size_t id, size_t size)        :m_pointer(p),m_next(next),m_line(line),m_id(id),m_size(size)        {            strncpy(m_file, file, 255);        }    void *m_pointer;    memory_record *m_next;    size_t m_line;    size_t m_id;    size_t m_size;    char   m_file[256];};dbg_heap_record_list* dbg_heap_record_list::instance(){    static dbg_heap_record_list inst;    return &inst;}void dbg_heap_record_list::record(void *p, const size_t line, const size_t size, const char *file){    int begin_pos = (*file == '/' ? 30 : 0);    memory_record *r = new memory_record(p, m_head, line, file + begin_pos, ++m_id, size);    m_head = r;}void dbg_heap_record_list::remove(void *p){    memory_record *cur  = m_head;    memory_record *prev = 0;    while(cur)    {        if(cur->m_pointer == p)        {            if(prev)            {                prev->m_next = cur->m_next;            }            else            {                m_head = cur->m_next;            }            delete cur;            break;        }        prev = cur;        cur = cur->m_next;    }}void dbg_heap_record_list::dump(){    for(memory_record *cur = m_head; cur; cur = cur->m_next)    {        printf("\n(%4d)[%5d] %s:%d", cur->m_id, cur->m_size, cur->m_file, cur->m_line);    }    printf("\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -