Hi Mark On Nov 30, 2007 8:18 AM, Mark Nüßler <[EMAIL PROTECTED]> wrote:
> hello users, > > when i started playing around with axis2c i found > it very useful to have tcpmon the ability to > write to files and added the str_replace function > in tools\tcpmon\src\tcpmon.c > > when i run longer testsessions with axis2 stuff, > tcpmon uses more and more memory over time. > > i am not skilled in detecting leaks ... > > using Visual Leak Detector 1.9f [http://dmoulding.googlepages.com/vld] > > compiled tcpmon.c (svn 599617) with vld.h and > got following output, with leaks detected : > > Call Stack: > tools\tcpmon\src\tcpmon.c (370): str_replace > tcpmon\src\tcpmon.c (240): on_new_entry_to_file > tcpmon\src\entry.c (480): tcpmon_entry_new_entry_funct > .... > > ohoh mark, feeling guilty ? > > i played around with str_replace and looked at line 370 > char *str_return = (char *) malloc(size * sizeof(char)); > > k, this is what we need to free after returning, > str_replace is call-by-value with return. > > mh ... > > i didn't found a nice solution, just using a single > variable of 'convert' in 'on_new_entry_to_file' > for each time using the replace function : > > convert1 = TCPMON_ENTRY_SENT_HEADERS(entry, env); > convert1 = str_replace(convert1, "; ", ";\n\t"); > fprintf(file, "%s", convert1); > free(convert1); > > convert2 = str_replace(formated_buffer, "; ", ";\n\t"); > convert3 = str_replace(convert2, "><", ">\n<"); > fprintf(file, "%s", convert3); > free(convert2); > free(convert3); > > after new compiling, vld does not detect any leaks > > so my questions are : > - does anyone have this kind of memory leak ? Yea. It was not maintained for a long time. > > - any nicer solutions ? Yea, You can use the more stable java apache tcpmon from http://ws.apache.org/commons/tcpmon/download.cgi > > mfg derMark > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
