Running Pluginval in Visual Studio 2022 debugger

Hi,

I am trying to find out why a plugin of mine just blows Pluginval out of existence. I first used a downloaded version.

Then I pulled the latest Pluginval code, ran the two CMake commands, from the instructions on GitHub.

I get the same issue when I run pluginval.exe locally after building, from the pluginval_artefacts folder, where it is apparently saved.

So of course I now want to run Pluginval in the debugger.

If I open the solution file in Visual Studio 2022 (latest v17.3.3) and issue the Start Debugging command, I get an Alertbox message:

Unable to start program
<my path to pluginval>\Builds\x64\Debug\ALL_BUILD
Access is denied

I tried removing the Build folders, repeat the steps, same result.

I am not yet a CMake user, but if the two commands work fine, can I assume this is not related to CMake?

The solution and projects structure is different from what I am used to, so I rather await a reply, than try to understand it now (with ALL_BUILD, INSTALL, ZERO_CHECK, etc).

How can I start/debug (F5) Pluginval in the VS IDE?

[EDIT] I just discovered I can drag the .exe file into Visual Studio and then can Start a debugging session. Nice! But I guess this a nice accidental discovery and not the official way?

Cheers

PS: yes, “in process” is selected

Is that the right dir? I don’t have my Windows machine to hand but isn’t it in something like pluginval/Builds/Debug/pluginval_artefacts?

Lol, I am asking you why I get this message. Now you ask me the same in return :grinning:

Just open the .sln solution file in Visual Studio, and select the Start Debugging command.
Does that work for you, or do you get a similar error message?

Am I maybe missing some required defines?

Cheers

I think that you’ve simply selected the wrong target to debug. ALL_BUILD ect. are just utility targets that do not (directly) produce the binary, and can therefore not be debugged.
Try right-clicking on the pluginval target and select Set as Startup Project, then the Debugger will launch the correct executable!

image

In case it’s helpful, note that you don’t necessarily need to have a debug build of pluginval in order to debug your plugin in pluginval. I barely remember a situation where access to the actual pluginval code was necessary to resolve a pluginval failure in a plugin. Just like with every DAW, you can simply launch a release version of pluginval, then in your usual plugin project do a debug build and just attach the debugger to the running pluginval process. Select the validate in process option and start the validation of your plugin. Now you can debug your plugin while it runs in pluginval.

First, thanks! This was indeed the very simple fix I needed.

My point here is, with my mind set on debugging “my” issues I just updated and built Pluginval. Also trying a fresh clone, running the commands and not changing anything.

So, I have not “simply selected anything”. I have not changed anything to the solution file.

When I see stuff like ZERO_CHECK, INSTALL etc, I am seeing things that I don’t want to know about in my current mindset. I had hoped it would just run / debug out-of-the-box, not requiring any further investigations / thinking from my side.

I know this sounds really silly for someone coding everyday… :face_with_hand_over_mouth:

Thanks very much!

Thanks @PluginPenguin,

I guess I was too much in a hurry and skipped this approach, which I indeed use to debug within Reaper…

As my plugin killed Pluginval I thought running PV in the debugger would be a good next step.

And I have now seen that both approaches lead to the same area in my code (parameter listeners getting corrupted).

Going to grab a coffee now, although a walk in the park might be better for me, lol

Thanks all :hugs:

2 Likes

I think this is just how cmake projects are generated. I’m not sure there’s anything I can do about it.

1 Like

Thanks, with the replies above I got around this very silly issue of mine and I am now enjoying your great tool!