AccuTrak
A configurable memory debug tool. It detects general memory errors, such as overrun, underrun, double delete, invalid access of freed memory as well as memory leaks.
The tool works in two major modes: hardware padding and software padding. (1) The hardware padding uses a system page to protect user memory space. The system page is placed immediately in front or after the user space and is set to not accessible. If memory overrun or underrun happens due to user code error, a hardware exception occurs which points the user to the exact location of offending code. After memory is freed, both user space and system page are set to not accessible. Hence, any access of freed memory will cause a hardware exception and user can easily pinpoint the bug. (2) The software padding is somewhat similar. But instead of using inaccessible system page, it pads a few bytes around the user space. It is significantly faster than hardware padding mode but less effective because the tool can only check the integrity of the memory blocks at the entry points of the tool.
One of the major obstacles of similar tools is the performance degradation due to excessive system calls to manage the protecting pages. The slowdown could range from 10 times slower to 100 times or even 1000 times slower. Hence, it is not feasible to use this kind of tool in many applications. The solution used by AccuTrak is to only track modules that interest us. System libraries and well-tested trusted modules are not the concern when we debug our program. This is especially true when we are in feature development phase. Untracked modules use default memory allocator to allocate/release memory blocks. Special cares are taken to handle the memory blocks belonging either to default allocator or to AccuTrak so that they coexist seamlessly. This makes the program run significantly faster and the tool useful.
The tool is designed to work on most popular platforms using virtual memory. It is coded to achieve maximum speed and least space overhead in most cases. It is thread-safe.
AccuTrak uses a configuration file to set the behavior of the tool. User doesn't have to recompile or relink to use different features of the tool. For example to switch from hardware mode to software mode, or add/subtract modules from tracking list. The tool can be preloaded into the user program or linked in executable if preloading is not supported by OS.
没有合适的资源?快使用搜索试试~ 我知道了~
accutrak memory check tool
共135个文件
cpp:42个
h:22个
ini:15个
需积分: 0 0 下载量 21 浏览量
更新于2024-12-12
收藏 223KB ZIP 举报
accutrak memory check tool
收起资源包目录
accutrak memory check tool (135个子文件)
TestPatchDSO.bat 115B
TestUnderrun.bat 115B
TestRecord.bat 111B
TestOverrun.bat 111B
TestRealloc.bat 109B
TestPatch.bat 109B
TestNew.bat 107B
TestPatchDSO.bat 70B
TestUnderrun.bat 70B
TestOverrun.bat 66B
TestRealloc.bat 66B
TestPatch.bat 64B
TestNew.bat 62B
CustomMalloc.cpp 61KB
MallocReplay.cpp 56KB
ConfigParser.cpp 33KB
MallocLogConsolidator.cpp 32KB
PatchManager.cpp 26KB
PatchPE32.cpp 22KB
SysAlloc.cpp 21KB
HeapImage.cpp 18KB
MallocLogger.cpp 17KB
MallocDeadPage.cpp 17KB
MallocHeapViewer.cpp 16KB
MallocLogViewer.cpp 15KB
MallocPadding.cpp 14KB
PatchElf64.cpp 14KB
sparcv9_plt.cpp 9KB
PatchElf_HP-UX_IA64.cpp 9KB
PerfCounter.cpp 7KB
PatchXcoff.cpp 5KB
BackTrace_AIX.cpp 5KB
BackTrace_Linux_x86_64.cpp 5KB
AccuTrak.cpp 4KB
BackTrace_HP-UX_IA64.cpp 4KB
BackTrace_SunOS_sparcv9.cpp 4KB
MallocPrivateHeap.cpp 4KB
Utility.cpp 4KB
StaticBufferMgr.cpp 4KB
TestRecord.cpp 3KB
TestBenchmark.cpp 2KB
Atomic_x86.cpp 2KB
TestPatchDSO.cpp 1KB
TestNew.cpp 1KB
TestOverrun.cpp 1KB
TestUnderrun.cpp 1KB
TestAccessFree.cpp 954B
TestDoubleFree.cpp 697B
TestRealloc.cpp 687B
TestSize.cpp 668B
TestPrivateHeap.cpp 540B
foo.cpp 531B
TestPatch.cpp 482B
TestPreLoad.cpp 360B
FreeMem.cpp 72B
accutrak.dep 2KB
BF.dsp 5KB
.gitattributes 378B
.gitignore 931B
PatchManager.h 16KB
Tree.h 14KB
MallocLogger.h 9KB
Atomic_op.h 6KB
MmapFile.h 6KB
PSAPI.H 6KB
ReplacementMallocImpl.h 4KB
StlAllocator.h 4KB
ReplacementMalloc.h 3KB
CrossPlatform.h 2KB
Event.h 2KB
PatchSym.h 2KB
AccuTrak.h 2KB
MallocHeap.h 1KB
Utility.h 1KB
FuncTypes.h 976B
StaticBufferMgr.h 901B
SysAlloc.h 892B
CustomMalloc.h 818B
BackTrace.h 814B
HeapImage.h 799B
PerfCounter.h 727B
MallocLogFuncs.inc 254KB
BF2_HP-UX.ini 3KB
BF2_Test.ini 2KB
BF2_Linux.ini 2KB
BF2_AIX.ini 1KB
BF2_Win32.ini 268B
TestDoubleFree.ini 179B
TestUnderrun.ini 148B
TestBenchmark.ini 135B
TestPatchDSO.ini 134B
TestSize.ini 132B
TestAccessFree.ini 110B
BF2_SunOS.ini 94B
TestPatch.ini 88B
TestPrivateHeap.ini 84B
TestRecord.ini 64B
accutrak.mak 8KB
MakeCommon 7KB
makefile 1KB
共 135 条
- 1
- 2
资源推荐
资源预览
资源评论
2012-02-23 上传
2021-05-27 上传
193 浏览量
5星 · 资源好评率100%
110 浏览量
2023-08-28 上传
2024-07-03 上传
164 浏览量
138 浏览量
160 浏览量
178 浏览量
170 浏览量
5星 · 资源好评率100%
2024-08-02 上传
2023-05-19 上传
197 浏览量
133 浏览量
5星 · 资源好评率100%
200 浏览量
157 浏览量
5星 · 资源好评率100%
资源评论
HWWXQ442119958
- 粉丝: 0
- 资源: 86
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功