Hi,
I want to know if there is a On Device memory leak detection tool available for use like On Device Debugger.
I read the documentation for HookLogger and my understanding is it will work only on emulator..
Regards
Biju
Hi,
I want to know if there is a On Device memory leak detection tool available for use like On Device Debugger.
I read the documentation for HookLogger and my understanding is it will work only on emulator..
Regards
Biju
As far as I know, that is not possible. Heap check is done by the debug variant of euser.dll, and the actual devices contain release code.
Unless you have the ability to reflash the device with a debug build of the relevant components its not possible.
Ok...My application has a lot of functionality built on the Cell Network Information,GPS and internet connectivity using GPRS.
So is there any way i can debug a memory leak rather than shooting in the dark by trial and error method....
You can try the Code Scanner.
Actually my previous response was talking about on-device memory leak detection, memory leak detection is only enabled in debug build. Memory leak debugging is a different, but related, thing to memory leak detection. I don't personally know what the latest tools are for assisting that.
I'm assuming the following definitions: memory-leak detection is finding out you have a memory leak somewhere.
Memory leak debugging is finding out the precise cause of the memory leak.
Your first posting was asking about detection, your second about debugging. Do you want to find out if you have any leaks or want to find out where the leaks are comming from? If the latter, how do you know you have a memory leak?
Last edited by hotcheese; 2009-07-15 at 20:22.
Recently I have used something like this for detecting obvious losses of memory:and putCode:TInt WatchMem(TAny *) { TBuf<20> buf; TInt size; TInt count=User::AllocSize(size); _LIT(KFormat,"%d/%d"); buf.Format(KFormat,size,count); User::InfoPrint(buf); return 1; }somewhere, which is a memory leak in itself, just I do not care (you can put the CPeriodic into a member variable, and suddenly it will become nice).Code:CPeriodic::NewL(EPriorityStandard)->Start(1000000,1000000,TCallBack(WatchMem));
Having the ErrRd file installed, most S60 3rd edition devices will show the output of User::InfoPrint.
Hi Wizard,
Is appUI the right place to put this code??
Yes, I have put it into AppUi::ConstructL too.
Kindly elaborate how it wrks??does it provide the memory being used by the app every 10 seconds???
Yes, that is all. It is not bulletproof, but it can be still useful. Just test the functions of your application, and check how memory usage changes.