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


#1

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!


#2

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.


#3

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.


#4

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