• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Seeking advice on debugging "real time" programs.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: Seeking advice on debugging "real time" programs.
      • From: David Dunham <email@hidden>
  • Prev by Date: Re: Xcode and clicking on java stack traces in the Run Log.
  • Next by Date: Re: Remote Compilation/Debugging Problems.
  • Previous by thread: Re: Xcode and clicking on java stack traces in the Run Log.
  • Next by thread: Re: Seeking advice on debugging "real time" programs.
  • Index(es):
    • Date
    • Thread