OmniObjectMeter
Release Notes
OmniObjectMeter 2.6
Released Tuesday, February 24th, 2009
- OmniObjectMeter is now free!
OmniObjectMeter 2.5
Released October 19th, 2006
- Known Issues
- Using a symbol ordering file during linking will confuse OmniObjectMeter. Setting your Debug build style to not have a symbol ordering file will avoid this issue.
- General
- Minor updates to online Help.
- Turned off some debug logging for release builds.
- Performance
- Caches demangled C++ symbol names.
- Fixed some memory leaks in OOM itself. OOM still can't run on itself, sadly, or this would have been trivial.
- Interface
- Zombies are again selected correctly in the UI when hit (with zombie support enabled in preferences).
- The restart button no longer warns if the target isn't currently running. Use 'Restart' in the warning instead of 'Terminate' if we we are restarting. Also, use sheets for both the restart and terminate warnings.
- Multiple clicks on the app icon no longer create multiple open panels.
- Added a 'Send Feedback' menu item.
- Updated to latest About panel.
OmniObjectMeter 2.5 beta 2
Released January 10th, 2006
Requires Mac OS X 10.4 or later.
Known Issues
- Using a symbol ordering file during linking will confuse OmniObjectMeter. Setting your Debug build style to not have a symbol ordering file will avoid this issue.
General
- OmniObjectMeter is now a Universal binary that runs natively on both PowerPC and Intel-based Macs.
- OmniObjectMeter now requires Mac OS X 10.4. If you still need to test on 10.2 or 10.3, older versions of OmniObjectMeter can be download from http://www.omnigroup.com/ftp/.
Interface
- The stack outline panel now remembers what settings you had selected on your last usage and restores them. For example, if you'd chosen to see Autorelease events on Live and Dead objects, counting whole instances, these settings will be the default for future stack outline panels. This saves time when you are trying to track down similar problems across multiple classes or runs of the application.
OmniObjectMeter 2.5 beta 1
Released November 9th, 2005
Requires Mac OS X 10.4 or later.
Known Issues
- Using a symbol ordering file during linking will confuse OmniObjectMeter. Setting your Debug build style to not have a symbol ordering file will avoid this issue.
General
- OmniObjectMeter now requires Mac OS X 10.4. If you still need to test on 10.2 or 10.3, older versions of OmniObjectMeter can be download from our FTP site.
Interface
- Unified toolbar for 10.4
- New default toolbar layout that makes more sense
- Fixed labels and shortcuts on various menu items to be more HIG compliant.
- Flipped restart toolbar image.
- If you launch OOM and connect to an application that is directly linked to the OOM framework and is paused due to hitting a zombie, the zombie object will be automatically shown in OOM.
Stability
- Fixed a hard-to-duplicate crasher in the communication channel between OOM and the target process.
Symbol Gathering
- C++ symbol names now get demangled.
- OmniObjectMeter can now deal with the radically different dyld implementation introduced with Mac OS X 10.4.
- Reenabled & fixed support for reading Mach-O files that begin with a fat_header. Who thought we'd ever need that again?
- Fixed reading symbols out of frameworks that have been relocated by dyld.
- Fixed cases where an unknown symbol would be reported as a symbol from some other module.
Xcode integration
- No special plugin is needed to integrate OmniObjectMeter with Xcode as of this release. OOM now uses AppleScript to communicate with Xcode 2.x. Please make sure you are using the latest version of Xcode you can (Xcode 2.2 preview 1 is available to ADC members on connect.apple.com).
AppleScript
- OmniObjectMeter now uses sdef as its native scripting definition format. As part of this, we made the script suite act a little more like a normal document-based application's suite.
- The application has a 'documents' array instead of 'targets'
- Documents have an 'id' property
- Documents have a 'name' property
- Documents have a 'mark range' property that can be used to set the currently selected mark range.
- The application represented by a document can be started, stopped via AppleScript
- New marks can be created using the 'begin mark' command.
Event Collection
- If zombies are enabled in OmniObjectMeter's preferences, OOM will now set the CFZombieLevel environment variable such that CoreFoundation objects should be scribbled over on deallocation and the underlying memory shouldn't be freed.
- OOM no longer clobbers DYLD environment variables in the launched target other than DYLD_INSERT_LIBRARIES.
- Objects that seem to appear out of thin air as far as OOM is concerned (it never saw an allocation event for them) are listed in a new top level '(Unknown)' group.
- OOM now deals better with objects with custom CoreFoundation allocators, resulting in fewer objects appearing out of thin air!
- The environment that OmniObjectMeter is launched with will be used as the basis for the environment used to launch the target. In particular, settings from your ~/.MacOS/environment.plist will be passed along.
Public API
- The OOMPublic.h header now has C++ header guards.
- Added new public API points
- __OOMNumberOfCategories
-
__OOMGetCategoryName
-
__OOMGetCategorySummary
OmniObjectMeter 2.0
Released May 5th, 2002
Known Issues
- Some of the UI 'haxie' bundles from Unsanity (FruitMenu, WindowShadeX, etc) will cause the target process to exit immediately when run in OOM.
This is apparently caused by these products starting a thread containing an invalid PPC stack frame. Reportedly newer versions of these products do not have this problem (We've not verified this at this time). If you are hit by this symptom, try uninstalling these products. - Due to limitations in underlying OS services, only one process may be examined with OmniObjectMeter at a time.
- If you're using OmniObjectMeter with XCode, you need to restart XCode after installing the OOM plugin, or you'll get an "Unable to contact Project Builder" error.
Changes
- No changes from release candidate 2.
OmniObjectMeter 2.0 release candidate 2
Released May 2nd, 2002
- Fixed broken links in documentation due to 32 character limit on filenames in Help Viewer (which is a Carbon application).
OmniObjectMeter 2.0 release candidate 1
Released May 1st, 2002
- Documentation cleanup.
- Icons for example applications.
- Fixed a rare crasher.
- Fixed packaging snafu that removed OOMPublic.h public header file.
OmniObjectMeter 2.0 beta 1
Released April 22nd, 2002
- Finished online help
- Finished toolbar images
- Fixed filter preferences range validation
- Removed extra debug logging
- Fixed zombie with toolbar configuration
- Added option to show IDE installation help topic when IDE helper plugin isn't installed
- Shortened event names displayed in event table in the main process window to make them fit in a narrower area.
OmniObjectMeter 2.0 sneaky peek 4
Released April 11th, 2002
- Fixed spurious crash reports. Apparently Mach exception ports are inherited in child processes so OmniCrashCatcher was claiming that OmniObjectMeter had crashed when the child process had crashed.
- Updated toolbar images and toolbar controls
OmniObjectMeter 2.0 sneaky peek 3
Released April 10th, 2002
- First public release of OmniObjectMeter 2.0
- Complete rewrite of the event gathering code, taking advantage of new features of Mac OS X
- All information now stored in the target application so you can quit OOM and still be collecting stats or you can directly link the OOM framework and collect information for later viewing by OOM
- Significant performance improvements
- Major UI updates
- OOM framework exports public API, allowing control of OOM from the target application
- Totally updated online help
- New example applications to help you learn how to effectively use OOM.

We love to hear from our users about what they would like to see in OmniObjectMeter. Bug reports, feature requests, and creepy love letters - we like it all! Send us your feedback today!