I'm working on an application which is based on multiple layers:
Web GUI, Transaction, Businesslogic, DB Access and Shared object.
Each layer is developed as own project, compiled and publisched as DLL to the other layers.
to test a memory leak, I've created a simple console application that simulates the GUI and fetch a complex object.
This object is then being erased (see pseudo code below).
A simple analyse shows that the Memory increase between the first and the last snapshots, though I've expected it to be the same.
In the 'Class list' I've found some internal array (belongs indirectly to the complex object).
Those arrays appears under the filter 'GC Handle' or 'COM+'.
I've read that this might indicate a problem in unmanaged code.
Both Class References Explorer and the object retantion graph shows the following:
GC (100%) -> System.Object (100%) -> my.code.com.MyArray
which doesn't help me that much
Could that also be the result of using a multilayer architecture?
Does anybody can advice me, how to find the references to those objects?
vb.net pseudo code:
dim obj as MyObj = Nothing
... // Snapshot 1
obj = TransactionLayer.getObject()
'// Snapshot 2
obj = nothing
'// Snapshot 3