In contrast to Mac or Linux, a Windows GUI application does not come with a console by default. Therefore, std::cout and printf won’t appear anywhere unless you create an additional console, but that’s outside of the scope of this topic. However, DBG writes to stdout on Mac/Linux and to the Debug Output on Windows, so it should work. Are you sure that you opened the debug output window in Visual Studio? Note: This only works if you compile a debug build.
Not sure where exactly you placed that print, but did you set a breakpoint before your print statement just to make sure that this line of code is really executed?
When I made this post I did not know it was possible to debug an exe from Visual Studio. I am just building the exe from the Projucer although I have the usual options (VST3, AU, etc) since I am making an audio plugin. It seems that testing the VST3/AU/etc is vastly more tedious because you can’t do it in Visual Studio, it seems?
Should I only get the debug messages when I run the program in Debug mode in Visual Studio? Before I was running the .exe just by double clicking it from File Explorer, and I was thinking the logs would show up in Visual Studio.
If I run the .exe (the standalone mode of the plugin) using Debug in Visual Studio, I can see a message from DBG() in the output, but the logs are noisy because they have all these lines:
Do you know if there is any way I can get Visual Studio to not show these JUCE built in methods? I don’t mind seeing these when building for example but it is annoying when debugging.
Those Loaded/Unloaded messages are not JUCE related messages. And they should generally only appear at startup. You can also see your debug output without VS, by using a tool like