-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 6/15/11 12:50 PM, Bing Li wrote: > Jens, > > Thanks so much for your suggestions! > > I wonder why it works fine according to Activity Monitor if such a huge leak > exists. The consumed memory in the Activity Monitor is stable and much > smaller unless some threads are created at a high concurrent moment. After > the threads are dead, the consumed memory becomes stable and small. I feel > weird for this.
Honestly, I feel like you are not listening to the excellent responses people are giving you. 1) Activity Monitor is not a profiling tool. Don't use it as such. Use Leaks/Allocations, maybe with some heapshot analysis thrown in as I believe I mentioned a while back. 2) Analyze your code with the Clang static analyzer ("Build & Analyze"). This will shake out many common memory issues (and more). 3) Recognize that posting snippets of the code that you THINK might be responsible for a leak does not mean that people on the list can actually help you find it. For example, even if you are doing everything completely properly inside a function, if that function returns some object, the calling code can still leak that object. 4) It seems as if much of your code is multi-threaded. All else being equal, this makes such problems even harder to debug. If I were having such serious issues, I would probably spend some time trying to get the task to work on the main thread and only once that is thoroughly debugged would I break it up across threads. (This won't work for every type of problem, but if it can work for you, I'd do it.) 5) As others have commented, there is substantial evidence that your code probably has issues other than memory management. If you are, for example, smashing the stack in your C code, all bets are off and you really need to fix that first. It's been so long since you first started posting that I've forgotten what you are trying to do. You are communicating in a high level format (XML), yet all your code seems to concern very low level network behaviors (opening sockets, reading bytes, et cetera). I wonder whether you are over-engineering all this. What is your goal? - -- Conrad Shultz Synthetiq Solutions www.synthetiqsolutions.com -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFN+RG8aOlrz5+0JdURAjRNAJ9YCKwfHbB6iICdmKARupttOoJkMQCdG5TT ZAaJuogqgVGHjKxS4sqA8pw= =RkC+ -----END PGP SIGNATURE----- _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com