Testing in Pluginval - how to properly debug a plug-in?

I’m testing my plug-in using Pluginval and it’s giving an exception regarding parameters…

Testing the plug-in in debug gives the following call stack in the console:

10: plugin: <lambda_b4ee0c466469edc15e9fcbae3cd3b1ff>::operator() + 0x16
11: plugin: juce::ListenerList<juce::AudioProcessorValueTreeState::Listener,juce::Array<juce::AudioProcessorValueTreeState::Listener *,juce::DummyCriticalSection,0> >::call<<lambda_b4ee0c466469edc15e9fcbae3cd3b1ff> > + 0x69
12: plugin: juce::AudioProcessorValueTreeState::Parameter::setValue + 0xb7
13: plugin: juce::JuceVST3EditController::Param::setNormalized + 0xbb
14: plugin: Steinberg::Vst::EditController::setParamNormalized + 0x70

From this I can see that there must be an issue with one of my valueToText lambdas but can’t work out which parameter is causing the issue… I’ve tried attaching a debugger to the plug-in while it’s running in Pluginval but either that’s not possible or I don’t know how to do it properly!

If anyone can help me solve this issue it’d be much appreciated!

It’s probably not being caught in the debugger because by default the validation happens in a separate process. Try enabling the “Validate in process” option from the “Options” button.

1 Like

Wow! Yes, this solved it!

Turns out the lambda causing the exception was this:

because one of my listeners had been deleted but not removed as a listener.

Nice! Glad to hear it’s helping track down issues :sunglasses: