View Issue Details

IDProjectCategoryView StatusLast Update
0020212Open CASCADEOCCT:Foundation Classespublic2012-10-26 19:03
ReportermsvAssigned Tomsv 
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.3.1 
Summary0020212: Implement mechanism for investigation of memory problems
DescriptionIt is proposed to realize a mechanism on the low level (Standard) that allows to
see memory usage statistics when debugging memory-related problems.

The idea is to define a callback function that is to be called from withing
Allocate and Free methods of the class Standard_MMgrOpt. These methods should
pass to that function the kind of current operation, the block address and size.

It is also proposed to realize the default callback function as the static
method of the class NCollection::BaseAllocator, and the function to print memory
usage statistics cumulated by the default callback. This callback is to be used
by anyone who is going to analyze his program memory problems.

By default, callback is not registered and the behavior of the allocator is not
changed.
Additional information
and documentation updates
Documentation remark, added by MSV 2008-12-12 12:54:53:

New features:
Foundation Classes.

Memory management in the mode MMGT_OPT=1 has been complemented with a mechanism
that allows to see memory usage statistics when debugging memory-related problems.

This mechanism is based on calling a user callback function from within
Allocate and Free methods of the class Standard_MMgrOpt. These methods pass to
that function the kind of current operation, the block address and its size. The
user can define the callback with the method
Standard_MMgrOpt::SetCallBackFunction. By default no callback is defined.

The class NCollection_BaseAllocator provides the static method StandardCallBack
that the user can use as the callback function. The static method
NCollection_BaseAllocator::PrintMemUsageStatistics can be used to print memory
usage statistics accumulated by StandardCallBack into standard output.
TagsNo tags attached.
Test case number

Attached Files

  • OCC20212_msv_patch_v1.tar.gz (11,033 bytes)
  • compile_win64vc8.log (1,219,460 bytes)
  • OCC20212_msv_patch_v2.tar.gz (11,394 bytes)
  • OCC20212-agv-v2.tar.gz (1,423 bytes)

Activities

2008-08-08 13:44

 

OCC20212_msv_patch_v1.tar.gz (11,033 bytes)

2009-05-25 16:35

 

compile_win64vc8.log (1,219,460 bytes)

2009-05-26 09:36

 

OCC20212_msv_patch_v2.tar.gz (11,394 bytes)

2009-05-26 16:35

 

OCC20212-agv-v2.tar.gz (1,423 bytes)

Issue History

Date Modified Username Field Change
2008-12-12 12:33 bugmaster Assigned To bugmaster => msv
2008-12-12 12:33 bugmaster Status new => assigned
2008-12-12 12:33 bugmaster Status assigned => resolved
2008-12-12 12:34 bugmaster CC => abv
2009-02-13 19:12 mkv Status resolved => tested
2009-05-25 18:34 vtn Assigned To msv => bugmaster
2009-05-25 18:34 vtn Status tested => assigned
2009-05-28 18:34 bugmaster Status assigned => resolved
2009-05-29 12:55 bugmaster Assigned To bugmaster => msv
2009-05-29 12:55 bugmaster Status resolved => assigned
2009-05-29 12:55 bugmaster Status assigned => resolved
2009-05-29 12:56 mkv Status resolved => tested
2009-06-24 19:27 bugmaster Status tested => closed
2009-06-24 19:27 bugmaster Resolution @0@ => fixed
2011-08-02 11:23 bugmaster Category OCCT:FDC => OCCT:Foundation Classes
2012-01-11 16:41 atp Description Updated
2012-01-11 16:41 atp Additional Information Updated