|
I have a class with a CString member variable. I assign a value to this member in the constructor of my class:
<br />
CMyClass::CMyClass()<br />
{<br />
m_name = "my class";<br />
}<br />
When I run Rational Purify, it says that there is a memory leak. Anyone got an idea why this would cause a memory leak?
|
|
|
|
|
Are you sure that CMyClass is not leaking?
John
|
|
|
|
|
No, I'm not. It could be that the class is leaking. I guess if the class is not destroyed the ref. count of the CString will not be 0 and Purify will find a leak there. I guess I need a cup of coffee to clear my head.
|
|
|
|
|
I have used Purify and Memory Validator and I sometimes see that either will say a member variable was leaking when in fact the whole class was leaking.
John
|
|
|
|
|
Which one do you preffer? I've tried BoundsChecker 7.0 and Purify 2002. Boundchecker seems to be faster but also seems to give a lot of bogus errors.
|
|
|
|
|
I guess I have to say Memory Validator because it is constantly being developed and improved. I have not used BoundsChecker because they never contacted me for my free trial.
John
|
|
|
|
|
hi,
where did u get these BoundsChecker 7.0 and Purify 2002?
are they free?
includeh10
|
|
|
|
|
BoundsChecker was owned by NuMega, but has since been bought out by Compuware.
Rational's Purify can be found here.
|
|
|
|
|
When I last checked Purfiy had a free downloadable trial in which they would email you an unlock code that allowed the program to be fully functional for 14 days. BoundsChecker also claimed to have a free trial by filling out a form but they never contacted me so I did not buy their product.
John
|
|
|
|
|
I've used BoundsChecker, and it can mislead you quite a bit. I now use the SmartHeap memory dump, it just gives me a list of leaks, and call-stacks of where they were allocated. And does a good job of catching doubly-freed type stuff too.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br />
Peter Weyzen<br />
Staff Engineer<br />
Santa Cruz Networks
|
|
|
|
|
Hi all, i'm writting a Add-in to the visual studio 6, and i need to catch event before the document is being saved, while the IApplicationEvents supplies DocumentSave which is fired after it was saved.
Does anyone knows how to solve my problem?
Amir Harel
My boss always tell me: Why we always search for the generic solution for a specific problem...
|
|
|
|
|
Hi all,
I am trying to make an application that can log off a user on a PC in a network. I found what I was looking for but that was for Windows 95, 98 & ME, but I need it for Windows XP...
Any help would be great, thanks in advance.
|
|
|
|
|
Hello
Is it possible to abort a socket accept after X seconds?
I got two classes: cfiletransferserver and cfiletransferclient.
I launch a cfiletransferserver on a specific port and than send the port to my client application. The client application then tries to connect to the server by using cfiletransferclient.
cfiletransferserver deletes itself from the stack when the filetransfer is finished.
I want cfiletransferserver to delete itself if no cfiletransferclient have connected to it in X seconds. How do I do that?
Thanks,
Jonas
|
|
|
|
|
Instead of calling accept() for the listening socket, call select() . Select will block the thread until an event happens on the socket, ie. a connection is ready. The second parameter of the select() function is a TIMEVAL structure which can specify a timeout. The return value of the select() call specifies whether a timeout occurred or a connection was receivied, ready to accept using accept() . Look at the docs for more info.
Hope this helps
Ryan
Being little and getting pushed around by big guys all my life I guess I compensate by pushing electrons and holes around. What a bully I am, but I do enjoy making subatomic particles hop at my bidding - Roger Wright (2nd April 2003, The Lounge)
Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late - John Nichol "Point Of Impact"
|
|
|
|
|
just what I was looking for! thanks!
|
|
|
|
|
I have a workspace with MFC and I want to add a MFC project but when I compile it says "error RC2151 : cannot reuse string constants, 57344(0xE000) - "CEdit" already defined. Cannot add 57344(0xE000) - "Formula".".
How I can changed the ids value for it doesn`t give this error.
Thank you in advance.
|
|
|
|
|
Change the ID in resource editor.
Kuphryn
|
|
|
|
|
Look at following C statements:
const char ch = 'c';
char* pc = (char*)&ch;
*pc = 'd';
printf("%c[%u]\n%c[%u]",ch,&ch,*pc,pc);
Output of this code is as follows:
c[6684148]
d[6684148]
What I want to know is if both addresses are same then how the value can be different?
Thanking You...
C.R.Naik
|
|
|
|
|
I suspect that when printf() was evaluating the variables, it knew that 'ch' was a const, thus could only have its original value (i.e., why bother re-evaluating something that is known not to change). Step through this code with the debugger and watch the changes each statement makes.
|
|
|
|
|
Chintan wrote:
Amazing !!!!!!
Not really. The compiler treats constant variables very similarly to #defines. It replaces the value of ch with 'c', which is what it is initialised with, simply because it is constant. The compiler does not care what sort of pointer trickery you perform. It assumes that a constant variable is constant, which it should be.
Ryan
Being little and getting pushed around by big guys all my life I guess I compensate by pushing electrons and holes around. What a bully I am, but I do enjoy making subatomic particles hop at my bidding - Roger Wright (2nd April 2003, The Lounge)
Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late - John Nichol "Point Of Impact"
|
|
|
|
|
Hi all, first post here
I have a Custom AppWizard project right now. How can I set, from code, the Executable for debug session and specify Additional DLLs of the generated project? I have looked at the IBuildProject and have customized several preprocessor and linker options with it. I have also located where the Executable for debug session and Additional DLLs information is stored (opt file) but it's Binary so I dont think I can edit it directly.
I hope there is a way...
Eamon Millman
2nd Year Computer Engineering
University of Victoria
|
|
|
|
|
Friends,
I was playing with "Windows Media Player", suddenly an error occured in the application. A dialog box popped up on which the name of "cpp" was written and also the line number in "cpp" file also written where the error occured.
I also want to add such feature in my release builds. How can i do so ?
|
|
|
|
|
Use __FILE__ and __LINE__ constants to do it.
like this:
char lpBuffer[240];
sprintf(lpBuffer,"File: %s\n Line:%d",__FILE__,__LINE__);
MessageBox(NULL,lpBuffer,"Message",MB_OK);
|
|
|
|
|
I've subclassed CButton to draw the text with different fonts and font sizes. The problem is that when the focus rectangle is draw on radio buttons and check boxes it's size is relative to the default font.
Is there anyway to change the size of the focus rect or to draw it myself?
Thank you
Artur Jales Moreira
|
|
|
|
|
You can draw a focus rectangle using DrawFocusRect() (or CDC::DrawFocusRect() if you're using MFC). You'll have to calculate the size of the rectangle yourself.
Ryan
Being little and getting pushed around by big guys all my life I guess I compensate by pushing electrons and holes around. What a bully I am, but I do enjoy making subatomic particles hop at my bidding - Roger Wright (2nd April 2003, The Lounge)
Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late - John Nichol "Point Of Impact"
|
|
|
|