 |
My Project
debian-1:4.1.1-p2+ds-4build3
|
#include <limits.h>
#include <stdarg.h>
#include "omalloc.h"
#include "omDebug.h"
Go to the source code of this file.
|
static omError_t | omDoCheckLargeAddr (void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL) |
|
omError_t | omDoCheckBin (omBin bin, int normal_bin, char level, omError_t report, OM_FLR_DECL) |
|
static omError_t | omDoCheckBinPage (omBinPage page, int normal_page, int level, omError_t report, OM_FLR_DECL) |
|
static void | _omPrintAddrInfo (FILE *fd, omError_t error, void *addr, void *bin_size, omTrackFlags_t flags, int max_frames, const char *s) |
|
omError_t | _omCheckAddr (void *addr, void *size_bin, omTrackFlags_t flags, char check, omError_t report, OM_FLR_DECL) |
|
omError_t | _omCheckBin (omBin bin, int what_bin, char check, omError_t report, OM_FLR_DECL) |
|
omError_t | _omCheckMemory (char check, omError_t report, OM_FLR_DECL) |
|
omError_t | omCheckPtr (const void *ptr, omError_t report, OM_FLR_DECL) |
|
omError_t | omDoCheckAddr (void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL) |
|
omError_t | omDoCheckBinAddr (void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL) |
|
omError_t | omReportAddrError (omError_t error, omError_t report_error, void *addr, void *bin_size, omTrackFlags_t flags, OM_FLR_DECL, const char *fmt,...) |
|
void | omPrintAddrInfo (FILE *fd, void *addr, const char *s) |
|
void | omIterateTroughBinAddrs (omBin bin, void(*CallBackUsed)(void *), void(*CallBackFree)(void *)) |
|
void | omIterateTroughAddrs (int normal, int track, void(*CallBackUsed)(void *), void(*CallBackFree)(void *)) |
|
static void | _omPrintUsedAddr (void *addr) |
|
void | omPrintUsedAddrs (FILE *fd, int max) |
|
void | omPrintUsedTrackAddrs (FILE *fd, int max) |
|
◆ _omCheckAddr()
◆ _omCheckBin()
◆ _omCheckMemory()
Definition at line 58 of file omDebugCheck.c.
83 while (sticky !=
NULL)
86 sticky = sticky->next;
94 s_bin = om_SpecTrackBin;
112 addr = *((
void**) addr);
122 addr = *((
void**) addr);
◆ _omPrintAddrInfo()
static void _omPrintAddrInfo |
( |
FILE * |
fd, |
|
|
omError_t |
error, |
|
|
void * |
addr, |
|
|
void * |
bin_size, |
|
|
omTrackFlags_t |
flags, |
|
|
int |
max_frames, |
|
|
const char * |
s |
|
) |
| |
|
static |
Definition at line 421 of file omDebugCheck.c.
430 fputs(
" unaligned",
fd);
433 fprintf(
fd,
" specified size:%ld", (
long) bin_size);
436 fprintf(
fd,
" specified bin is of size:%ld",
437 (
long)((
omBin) bin_size)->sizeW << LOG_SIZEOF_LONG);
440 omPrintTrackAddrInfo(
fd, addr, frames);
443 fputs(
" !omIsTrackAddr\n",
fd);
444 omPrintTrackAddrInfo(
fd, addr, frames);
449 fprintf(
fd,
"%s (invalid) addr: %p (error=%d)\n",
s, addr,
x);
◆ _omPrintUsedAddr()
static void _omPrintUsedAddr |
( |
void * |
addr | ) |
|
|
static |
◆ omCheckPtr()
◆ omDoCheckAddr()
◆ omDoCheckBin()
Definition at line 253 of file omDebugCheck.c.
280 bin->max_blocks != top_bin->max_blocks);
282 if (
level <= 1)
continue;
293 page = bin->last_page;
298 omCheckReturn(page != bin->last_page && page != bin->current_page &&
302 (page->next ==
NULL || page->next->prev != page));
316 if (page == bin->current_page)
◆ omDoCheckBinAddr()
Definition at line 198 of file omDebugCheck.c.
233 ( ( ( (
unsigned long) addr)
234 - ((
unsigned long) page)
236 % (bin->sizeW * SIZEOF_VOIDP)
245 size_t size = (size_t) bin_size;
◆ omDoCheckBinPage()
Definition at line 336 of file omDebugCheck.c.
358 if (bin->max_blocks > 1)
362 page->current !=
NULL);
374 void* current = page->current;
379 while (current !=
NULL)
384 - ((
unsigned long) page)
386 % (bin->sizeW * SIZEOF_LONG)
388 current = *((
void**) current);
◆ omDoCheckLargeAddr()
◆ omIterateTroughAddrs()
void omIterateTroughAddrs |
( |
int |
normal, |
|
|
int |
track, |
|
|
void(*)(void *) |
CallBackUsed, |
|
|
void(*)(void *) |
CallBackFree |
|
) |
| |
Definition at line 503 of file omDebugCheck.c.
516 while (s_bin !=
NULL)
530 s_bin = om_SpecTrackBin;
531 while (s_bin !=
NULL)
539 while (sticky !=
NULL)
542 sticky = sticky->next;
◆ omIterateTroughBinAddrs()
void omIterateTroughBinAddrs |
( |
omBin |
bin, |
|
|
void(*)(void *) |
CallBackUsed, |
|
|
void(*)(void *) |
CallBackFree |
|
) |
| |
Definition at line 464 of file omDebugCheck.c.
473 page = bin->last_page;
484 if (CallBackFree !=
NULL) CallBackFree(addr);
488 if (CallBackUsed !=
NULL) CallBackUsed(addr);
490 addr = (
char *)((
char**) addr) + bin->sizeW;
492 }
while (i < bin->max_blocks);
499 }
while (bin !=
NULL);
◆ omPrintAddrInfo()
void omPrintAddrInfo |
( |
FILE * |
fd, |
|
|
void * |
addr, |
|
|
const char * |
s |
|
) |
| |
◆ omPrintUsedAddrs()
void omPrintUsedAddrs |
( |
FILE * |
fd, |
|
|
int |
max |
|
) |
| |
Definition at line 565 of file omDebugCheck.c.
572 fprintf(
fd,
"UsedAddrs Summary: UsedBlocks:%ld TotalSize:%ld\n",
◆ omPrintUsedTrackAddrs()
void omPrintUsedTrackAddrs |
( |
FILE * |
fd, |
|
|
int |
max |
|
) |
| |
Definition at line 576 of file omDebugCheck.c.
583 fprintf(
fd,
"UsedTrackAddrs Summary: UsedBlocks:%ld TotalSize:%ld\n",
◆ omReportAddrError()
◆ om_MaxAddr
unsigned long om_MaxAddr = 0 |
◆ om_MinAddr
unsigned long om_MinAddr = ULONG_MAX |
◆ om_print_frames
◆ om_print_used_addr_fd
FILE* om_print_used_addr_fd |
|
static |
◆ om_total_used_blocks
unsigned long om_total_used_blocks |
|
static |
◆ om_total_used_size
size_t om_total_used_size |
|
static |
#define omIsOnList(ptr, addr)
void * om_AlwaysKeptAddrs
void error(const char *fmt,...)
#define omCheckGList(ptr, next, level, report, OM_FLR_VAL)
int omIsInKeptAddrList(void *addr)
size_t omSizeOfAddr(const void *addr)
#define omIsOnGList(ptr, next, addr)
#define omIsStaticTrackAddr(addr)
omError_t _omCheckMemory(char check, omError_t report, OM_FLR_DECL)
static FILE * om_print_used_addr_fd
#define omAddrCheckReturnError(cond, error)
#define omGetBinOfAddr(addr)
#define omIsTrackAddr(addr)
#define omCheckReturnError(cond, error)
size_t omSizeOfLargeAddr(void *addr)
void omIterateTroughAddrs(int normal, int track, void(*CallBackUsed)(void *), void(*CallBackFree)(void *))
omError_t omReportError(omError_t error, omError_t report_error, OM_FLR_DECL, const char *fmt,...)
#define omCheckReturnCorrupted(cond)
@ omError_InvalidRangeAddr
int status int void size_t count int const void size_t count const char int flags
#define omGetUsedBlocksOfPage(page)
omError_t omDoCheckBin(omBin bin, int normal_bin, char level, omError_t report, OM_FLR_DECL)
#define omCheckReturn(cond)
static void _omPrintUsedAddr(void *addr)
#define omIsBinPageAddr(addr)
#define OM_MAX_BLOCK_SIZE
OM_INLINE_DECL omBin omGetBinOfPage(omBinPage page)
omError_t omDoCheckAddr(void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL)
static unsigned long om_total_used_blocks
#define SIZEOF_OM_BIN_PAGE_HEADER
#define omGListLength(ptr, next)
static int max(int a, int b)
@ omError_FalseAddrOrMemoryCorrupted
omError_t omCheckBinPageRegions(int level, omError_t report, OM_FLR_DECL)
#define omGetStickyOfPage(page)
#define omGetBinPageOfAddr(addr)
static omError_t omDoCheckBinPage(omBinPage page, int normal_page, int level, omError_t report, OM_FLR_DECL)
omError_t omDoCheckBinAddr(void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL)
void omIterateTroughBinAddrs(omBin bin, void(*CallBackUsed)(void *), void(*CallBackFree)(void *))
@ omError_KeptAddrListCorrupted
#define omAddrCheckReturn(cond)
#define omCheckList(ptr, level, report, OM_FLR_VAL)
static size_t om_total_used_size
#define omIsBinAddrTrackAddr(addr)
#define omGetTopBinOfPage(page)
@ omError_FreedAddrOrMemoryCorrupted
#define omGListLast(ptr, next)
#define omGetPageOfAddr(addr)
omBinPage_t om_ZeroPage[]
#define omIsKnownTopBin(bin, normal_bin)
static omError_t omDoCheckLargeAddr(void *addr, void *bin_size, omTrackFlags_t flags, char level, omError_t report, OM_FLR_DECL)
omError_t omCheckPtr(const void *ptr, omError_t report, OM_FLR_DECL)
static void _omPrintAddrInfo(FILE *fd, omError_t error, void *addr, void *bin_size, omTrackFlags_t flags, int max_frames, const char *s)
omBinPageRegion_t * omBinPageRegion
#define omGetTopBinOfAddr(addr)
#define omAddrCheckReturnCorrupted(cond)
const CanonicalForm int s
#define omFindInGList(ptr, next, what, value)
omBinPageRegion omFindRegionOfAddr(void *addr)
int omIsAddrOnFreeBinPage(void *addr)
@ omError_MemoryCorrupted
#define omListLength(ptr)
static int om_print_frames
#define omIsAddrPageAligned(addr)
#define omIsStickyBin(bin)