Index: /trunk/include/VBox/dbgf.h
===================================================================
--- /trunk/include/VBox/dbgf.h	(revision 20151)
+++ /trunk/include/VBox/dbgf.h	(revision 20152)
@@ -504,4 +504,6 @@
 VMMR3DECL(int) DBGFR3InfoDeregisterExternal(PVM pVM, const char *pszName);
 VMMR3DECL(int) DBGFR3Info(PVM pVM, const char *pszName, const char *pszArgs, PCDBGFINFOHLP pHlp);
+VMMR3DECL(int) DBGFR3InfoLogRel(PVM pVM, const char *pszName, const char *pszArgs);
+VMMR3DECL(int) DBGFR3InfoStdErr(PVM pVM, const char *pszName, const char *pszArgs);
 
 /** @def DBGFR3InfoLog
Index: /trunk/src/VBox/VMM/DBGFInfo.cpp
===================================================================
--- /trunk/src/VBox/VMM/DBGFInfo.cpp	(revision 20151)
+++ /trunk/src/VBox/VMM/DBGFInfo.cpp	(revision 20152)
@@ -26,15 +26,17 @@
 #define LOG_GROUP LOG_GROUP_DBGF_INFO
 #include <VBox/dbgf.h>
+
 #include <VBox/mm.h>
 #include "DBGFInternal.h"
 #include <VBox/vm.h>
-
+#include <VBox/err.h>
 #include <VBox/log.h>
+
+#include <iprt/assert.h>
+#include <iprt/ctype.h>
 #include <iprt/semaphore.h>
+#include <iprt/stream.h>
+#include <iprt/string.h>
 #include <iprt/thread.h>
-#include <iprt/assert.h>
-#include <iprt/string.h>
-#include <iprt/ctype.h>
-#include <VBox/err.h>
 
 
@@ -46,4 +48,6 @@
 static DECLCALLBACK(void) dbgfR3InfoLogRel_Printf(PCDBGFINFOHLP pHlp, const char *pszFormat, ...);
 static DECLCALLBACK(void) dbgfR3InfoLogRel_PrintfV(PCDBGFINFOHLP pHlp, const char *pszFormat, va_list args);
+static DECLCALLBACK(void) dbgfR3InfoStdErr_Printf(PCDBGFINFOHLP pHlp, const char *pszFormat, ...);
+static DECLCALLBACK(void) dbgfR3InfoStdErr_PrintfV(PCDBGFINFOHLP pHlp, const char *pszFormat, va_list args);
 static DECLCALLBACK(void) dbgfR3InfoHelp(PVM pVM, PCDBGFINFOHLP pHlp, const char *pszArgs);
 
@@ -66,4 +70,11 @@
 };
 
+/** Standard error output. */
+static const DBGFINFOHLP g_dbgfR3InfoStdErrHlp =
+{
+    dbgfR3InfoStdErr_Printf,
+    dbgfR3InfoStdErr_PrintfV
+};
+
 
 /**
@@ -159,4 +170,22 @@
 {
     RTLogRelPrintfV(pszFormat, args);
+}
+
+
+/** Standard error output.
+ * @copydoc DBGFINFOHLP::pfnPrintf */
+static DECLCALLBACK(void) dbgfR3InfoStdErr_Printf(PCDBGFINFOHLP pHlp, const char *pszFormat, ...)
+{
+    va_list args;
+    va_start(args, pszFormat);
+    RTStrmPrintfV(g_pStdErr, pszFormat, args);
+    va_end(args);
+}
+
+/** Standard error output.
+ * @copydoc DBGFINFOHLP::pfnPrintfV */
+static DECLCALLBACK(void) dbgfR3InfoStdErr_PrintfV(PCDBGFINFOHLP pHlp, const char *pszFormat, va_list args)
+{
+    RTStrmPrintfV(g_pStdErr, pszFormat, args);
 }
 
@@ -761,4 +790,32 @@
 
 /**
+ * Wrapper for DBGFR3Info that outputs to the release log.
+ *
+ * @returns See DBGFR3Info.
+ * @param   pVM                 The VM handle.
+ * @param   pszName             See DBGFR3Info.
+ * @param   pszArgs             See DBGFR3Info.
+ */
+VMMR3DECL(int) DBGFR3InfoLogRel(PVM pVM, const char *pszName, const char *pszArgs)
+{
+    return DBGFR3Info(pVM, pszName, pszArgs, &g_dbgfR3InfoLogRelHlp);
+}
+
+
+/**
+ * Wrapper for DBGFR3Info that outputs to standard error.
+ *
+ * @returns See DBGFR3Info.
+ * @param   pVM                 The VM handle.
+ * @param   pszName             See DBGFR3Info.
+ * @param   pszArgs             See DBGFR3Info.
+ */
+VMMR3DECL(int) DBGFR3InfoStdErr(PVM pVM, const char *pszName, const char *pszArgs)
+{
+    return DBGFR3Info(pVM, pszName, pszArgs, &g_dbgfR3InfoStdErrHlp);
+}
+
+
+/**
  * Enumerate all the register info handlers.
  *
