Debugging AU without a console inside the host

Just wondering if anybody can reccomend a good way to debug an audio unit during development - something like a console to track changes while poking around with the plugin inside of a host. Does anybody have a nice, simple solution that they like to use?

Thanks!

You can write Debug info to the OSX console. I don't know the exact synthax, but juce does this too, for example to report memory leaks. You will find the console in the OSX application utilities. It's also possible to attach the XCode debugger to the host to debug the audio unit.

You can use a FileLogger or attach your plugin to the JUCE Host demo.

Rail

Thanks for the suggestions - I'm trying to debug a few behaviors that are specific to automation in Logic, therefore I need a solution outside of the JUCE Host Demo. 

I'll try to find the correct syntax for logging to the OSX console - that was my first thought but I haven't quite figured out how to do it yet. If all else fails, filelogger it'll have to be!

Can't you launch Logic as the executable?

I've spent some time trying to figure out how to do this in Xcode 5 - seems like everything in Xcode is a bit obtuse... You wouldn't happen to know how to set this up in Xcode 5 would you?

 

will report back later if I figure it out

From the main menu: "Product" -> "Scheme" -> "Edit Scheme".

Then from the "Run" action in the left pane set the "Executable" file from the "Info" tab. https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/art/BuildForRelease_2x.png

It works!

That was shockingly easy to get to work. Thank you as much as person can possibly be thanked!

It's funny... I fancy myself a pretty good googler and solver of problems in general, but a lot of things surrounding Xcode and Audio Units in general seem much more obtuse than anything I'm used to digging through...

 

1 Like

A couple other options, you can use ...

Logger::writeToLog(String) 


...and then run Logic from the command line (this idea has worked for me outside of JUCE - have not tried within Juce).
 

What I generally do though is, during development, I create a 'debugData' string variable, and display that in the gui. I can then set anything I want to that and see it as I'm trying it.