Вы также перенаправляете stdout
и stderr
на свою консоль?
Я использовал этот код для получения доступа к выводу JavaVM из приложения Windows.
if(::AllocConsole())
{
int hCrt = ::_open_osfhandle((intptr_t) ::GetStdHandle(STD_OUTPUT_HANDLE), _O_TEXT);
FILE *hf = ::_fdopen( hCrt, "w" );
*stdout = *hf;
::setvbuf(stdout, NULL, _IONBF, 0 );
hCrt = ::_open_osfhandle((intptr_t) ::GetStdHandle(STD_ERROR_HANDLE), _O_TEXT);
hf = ::_fdopen( hCrt, "w" );
*stderr = *hf;
::setvbuf(stderr, NULL, _IONBF, 0 );
}
После этого я вижу все stdout
и stderr
выходы с виртуальной машины.