AUv3 auval debugging

Hello!

I am trying to debug my AUv3 plugin with the auvaltool and set breakpoints in the crucial calls. But i can't get the target to hit the breakpoints. I am using the Extension Target, chose the auvaltool as executable (also made sure to have the proper permissions) and added the corresponding argument to call my plugin in auval.


Doing the same with a AUv2 plugin and debugging the component works perfectly fine, hitting all breakpoints.


Doing this with my AUv3 plugin, it outputs the correct auval test on the console but it is not hitting any of my breakpoints.


Any idea what might cause this behaviour or how to fix it?

Any help would be appreciated!

Replies

Would you have a screen shot of how to setup a macOS AUv3 extension target to run with auval for debugging?

XCode -> ~Debug -> Attach to Process by PID or Name...

I still can't figure out why my AudioUnit is unable to be loaded by hosts.


The auval command line tool returns the following errors:


Assertion failure in +[NSServiceViewController currentAppIsViewService], /BuildRoot/Library/Caches/com.apple.xbs/Sources/ViewBridge/ViewBridge-401.1/NSViewService.m:131


libc++abi.dylib: terminating with uncaught exception of type int

/usr/bin/auval: line 8: 2470 Abort trap: 6 arch -x86_64 /usr/bin/auvaltool "$@"


source code:

https://github.com/carlsound/AUv3-Effect-Gain

My AUv3 plugin is now receiving the following error from the auval tool:


Unable to setup extension context - error: Couldn’t communicate with a helper application. Cannot open component: 4097


I'm not certain how to fix this extension context error.

The ViewController does conform to the NSExtensionRequestHandling protocol, inherited by AUAudioFactory


Objective-C:

-(void) beginRequestWithExtensionContext: (nonnull NSExtensionContext *) context {

[super beginRequestWithExtensionContext: context];

}


Swift:

override public func beginRequest(with context: NSExtensionContext) {

var extensionContextItems: NSArray = context.inputItems as NSArray

}

Swift version needs to be:

override public func beginRequest(with context: NSExtensionContext) {

super.beginRequestWithExtensionContext(context)

}


The AUv3 needs to be a member variable of the ViewController, not a property.


The info.plist NSExtensionPrimaryClass and factoryFunction [Swift] parameters need to match the filename of the AUViewController