Consultor Eletrônico



Kbase P98993: Managing Memory within the 4GL?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   15/04/2009
Status: Verified

GOAL:

Managing Memory within the 4GL

GOAL:

How to find Memory leaks?

GOAL:

How to find Memory leakage?

GOAL:

Why care about memory management?

GOAL:

Types of memory overview

GOAL:

Why care about memory management?

GOAL:

How and when the problems of memory leak happen?

GOAL:

Troubleshooting Memory leak

GOAL:

How can a Memory Leak can occur?

GOAL:

Memory Leak

GOAL:

Key Principles for dynamic programming.

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Versions

FIX:

Why care about memory management?
In the Progress Support Center it is a common question made by customers who are facing memory leakage in some part of their application. Generally they occur because of trying to do dynamic programming without understanding completely the key principles. People want to use dynamic programming techniques but are scared of the problem that may result. If you are not planning to program with dynamic objects, because it is too difficult for you and you do not want possible memory leaks within your application, this article is not for you!
How and when the problems happen?
It happens at deployment. It is very rare to have memory leakage during development stage.
· These problems are only present at run-time.
· These problems only manifest over long period of time.
· These problems are sometimes very difficult to track down.
Types of memory overview:
Static Memory
Old style objects that come and go with the procedure.p. The memory where statically allocated objects are stored is sometimes known as static memory. In the context of garbage collection, the term is used to mean memory used to store static objects.
Stack Memory
Stack allocation means run-time allocation and deallocation of storage in last-in/first-out order. Typically, stack allocation is performed on top of the main stack, but one can have a separate data stack for this purpose as well. Allocation and deallocation are ty