How to "flush" print commands on godot-cpp

Godot Version

4.5.1

Question

I’m trying to debug a GDExtension I’m creating by using UtilityFunctions::print("Where I am in the code") (because I don’t want to learn how to use a C++ debugger on this OS, just using it on Windows is enough headache as it is).

The problem is that Godot doesn’t print exactly when you call the function. I assume it sporadically checks a buffer and copies that into the editor output. If a GDExtension function causes a crash, and it called some prints before said crash, it won’t show on the output.

Is there a way to force said prints to show, so I can use it to locate the problematic code? Using cout and running godot through the terminal seems wrong.

AFAIK that print function is not thread safe, are you using call_deferred with the print statements?

I’m not. Does GDExtension run on a different thread by default?