Seeking advice on debugging "real time" programs.
Seeking advice on debugging "real time" programs.
- Subject: Seeking advice on debugging "real time" programs.
- From: John Draper <email@hidden>
- Date: Mon, 03 Apr 2006 14:19:44 -0700
Hi,
I'm looking for the best way to identify memory leaks, orphaned handles
(non-cocoa)
and other allocation headaches.
I'm trying to debug RTP Code. Transport protocol for real time applications
(RFC-1889) which is used in a VIOP application. This means I have to
pay special
attention to timing, and avoid tools that "slow my program down".
It really sucks I have to deal with this at all, but Apple just doesn't
seem to
have any VIOP support in it's plans to provide us developers with API's for
this technology.
I've been able to pass VIOP sound remotely, but after a certain period of
time, it crashes. I think somewhere I'm either not releasing a handle, or
Cocoa or C++ object, or making unnecesary allocations. I'm also getting a
"flutter" sound, indicating possible performance or timing problems.
Possibly caused in part by all the memory leaks I'm getting.
Using "MallocDebug" is fine when dealing with "not so critical" timing
issues,
but when inside a RTP Thread where timing is everything, these tools can
slow down the application so much it breaks the timing.
I'm still stuck to using X-Code 1.5, so for any new feature available in
the 2.X
series is not going to do me much good.
Some things I need to know about my App...
* Extra allocations or early releases... where are they?
* Performance testing (Shark), but don't know what I'm looking
for... :-(
I also want to avoid unnecessary memory allocations from within my "real
time"
transmission or reception of Audio.
I know there used to me these really nifty "Heap display" utilities
available from the
old OS-9 days... Does something like this exist either commercially,
through apple,
or out on the net?
I need to take a "snapshot" of the "heap" (If we even call it that),
every 40 ms.
but without slowing the real time processing down to a crawl and
breaking it, and
tell when I've made an allocation, and what it is I allocated. Is that
possible?
I know "gdb" is pretty sophisticated, but not sure how I can make "periodic
peeks" into the memory space of my application.
I already looked at TN2124 (Debugging magic), and TN2032 (Getting
started with
GDB), and both are very helpful.
Has anyone on this list come up with an effecive way to identify and isolate
memory leaks? Is there still hope for me as an X-Code 1.5 user?
John
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden