Shmoocon 2016: Efficient Debugging For OS X

Developers love their macs, and if you look at the software that comes with it, it’s easy to see why. OS X is a very capable Unix-ey environment that usually comes on very capable hardware. There is one, huge, unbelievable shortcoming in OS X: the debugger sucks. GDB, the standard for every other platform, doesn’t come with OS X and Apple’s replacement, LLDB is very bad. After crashing Safari one too many times, [Brandon Edwards] and [Tyler Bohan] decided they needed their own debugger, so they built one, and presented their work at last weekend’s Shmoocon.

Building a proper tool starts with a survey of existing tools, and after determining that GDB was apparently uninstallable and LLDB sucked, their lit review took a turn for the more esoteric. Bit Slicer is what they landed on. It’s a ‘game trainer’ or something that allows people to modify memory. It sort of works like a debugger, but not really. VDB was another option, but again this was rough around the edges and didn’t really work.

The problems with the current OS X debuggers is that the tools used by debuggers don’t really exist. ptrace is neutered, and the system integrity protection in OS X El Capitan has introduced protected locations that can not be written to by root. Good luck modifying anything in /Applications if you have any recent Mac.

With the goal of an easy-to-use debugger that was readily scriptable, [Brandon] and [Tyler] decided to write their own debugger. They ended up writing the only debugger they’ve seen that is built around kqueue instead of ptrace. This allows the debugger to be non-invasive to the debugged process, inject code, and attach to multiple processes at once.

For anyone who has every stared blankly at the ‘where is GDB’ Stack Overflow answers, it’s a big deal. [Brandon] and [Tyler] have the beginnings of a very nice tool for a very nice machine.

Still more software defined radio fun on the Mac

Even though the world of software defined radio started out as a Linux-only endeavor, several recent software releases have put the ball fully into the court of OS X users. [hpux735]’s new Cocoa Radio release provides a (nearly) fully functional software defined radio for anyone with a USB TV tuner and a mac.

Earlier this week, we saw (and tested)  [Elias]‘ port of gqrx and were reasonably impressed. [hpux735]’s app does the same job and also provides the source so you can compile it yourself.

Previously, [hpux735] ported the osmocom driver for these RTL2832U-based USB TV tuner dongles to the Mac and wrote a small Cocoa driver. The new Cocoa Radio software uses this driver and adds all the features you’d expect from a software radio package; in the title pic for this post, you can see a top 40 radio station near my house and their insipid hatred of dynamic range.

[hpux735] posted a few videos of his development process. You can check those out after the break.

Continue reading “Still more software defined radio fun on the Mac”

VirtualBox beta runs Mac OS X

A new beta build of VirtualBox, Sun’s Oracle’s free x86 virtualization software, makes it possible to run Mac OS X as a guest operating system…no shenanigans or flaming hoops to jump through, just pop in the $30 retail Snow Leopard upgrade disc and go. This had previously only been possible with some awkward Hackintosh-style maneuvering, or using recent editions of commercial virtualization products.

Continue reading “VirtualBox beta runs Mac OS X”

Install OSX on the HP TouchSmart

[Aaron Nelson] of Hijinks Inc. wrote up how he installed OSX on his HP TouchSmart IQ507. It looks and works like you would expect, save for a few things. The touchscreen works, but the calibration is so far off it’s useless. The most important things, like ethernet and the memory card reader, work fine. [Nelson]’s biggest frustration is that he has to disable the on board audio every time he logs in, so that the keyboard and mouse will be recognized. He is working on improvements, and would love to hear any suggestions you have.