Hello. I’m attempting to develop an audio VST. I’m trying to debug in FL Studio and I read the other thread about attaching to the process. So I completed all the necessary steps by going to project properties->Debugging and then pointing to the FL64.exe. So now when I hit debug on the project it opens up FL Studio. HOWEVER it does not seem to be able to load the debugging symbols, because non of my breakpoints will be hit and they all give this error:
“The breakpoint will not currently be hit. No symbols have been loaded for this document.”
Is there something I’m missing here? How can I get the breakpoints to be hit when running in a standalone DAW?
Have you built a debug or release build ?
Maybe worth cleaning the solution/project and ensuring your build is set to Debug before you build again.
There will not be any symbols loaded for your project until you open up an instance of your plugin, as it is dynamically loaded - together with the symbols. You can create a sample project with your plugin opened, and pass the project as a command-line argument to FL in your debug commando.
As you’ll probably be debugging with debug builds, symbol generation should be on by default. But it doesn’t harm to enable it for release builds, as well.
Make sure you’ve built the plug-in in debug mode.
Copy the debug plug-in to wherever FL Studio is looking for VSTs
Start FL Studio
In Visual Studio click on Tools->Attach to Process…
Insert your plug-in on a track in the session. The breakpoints should trigger. If not, double check that FL Studio is opening the correct VST.
You can do like this:
After Pressing F5 to run debug mode. You can load you plugin that you have just build in debug mode.
Thanks MarkC_SSL, your approach was the most successful. However, a couple caveats: first, there is actually a separate bridge process called ilbridge.exe that FL studio uses to load plugins. That is the one I have to attach to and not FL64.exe. Secondly, the plugin should be open in the application before I run debug to attach.
When I follow these steps, I successfully hit the first breakpoint. HOWEVER I then get an error in FL Studio that says “Connection to plugin lost” and then the debugger crashes. I suspect that ilbridge.exe has a seperate thread that checks to see if a plugin is non-responsive, and once the breakpoint is hit it interprets the plugin as crashing and disconnects from it. Does anyone know of any way to circumvent this?
Try NOT having the plugin open before you attach the debugger. My everything explodes unless I have the debugger attached before loading the first instance of my plugin
Also will FL Studio always use the bridge even if the architecture is identical? Are you compiling the plug-in for 64-bit? The projucer will default in compiling the plug-in for 32-bit. Come to think of it, I think we may want to change this default option.