Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Method of Detecting Memory Errors using a Configurable Dynamic Electric Fence

IP.com Disclosure Number: IPCOM000241600D
Publication Date: 2015-May-15
Document File: 3 page(s) / 60K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a tool to improve existing memory debug tools. It is used at run time, allowing a developer to run it under a debugger to focus on the offending code in real time.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 62% of the total text.

Page 01 of 3

Method of Detecting Memory Errors using a Configurable Dynamic Electric Fence

Programs often suffer from various types of memory errors, For example, such as overrunning the end of a memory allocation or using memory after it has been freed. Tools exist to help developers detect certain errors, but are not the best solutions because the tools act as a standalone tool, consume too much memory, are all-or-nothing tools in terms of allocations performed by the application being debugged, or cannot be configured for fine control of allocations.

A system is needed to improve existing memory debug tools.

The novel tool presented herein can be used at run time, allowing a developer to run it under a debugger to focus on the offending code in real time. The tool can be targeted to one or more specific ranges of allocation sizes, offering fine control of memory debugging. In addition, the tool can use different mechanisms to trade off memory overhead versus time of detection .

This tool replaces the library memory functions such as malloc() and free() with overridden functions. This allows extra information to be wrapped around memory allocations that can be verified when memory is freed. Developers enter commands to target specific sizes or ranges of sizes that are of interest, as well as the mode of operation for each size range. When the application allocates memory within the target size ranges, the memory is wrapped using one of the following:


Padding space befo...