Index: /trunk/src/VBox/Main/MachineDebuggerImpl.cpp
===================================================================
--- /trunk/src/VBox/Main/MachineDebuggerImpl.cpp	(revision 35249)
+++ /trunk/src/VBox/Main/MachineDebuggerImpl.cpp	(revision 35250)
@@ -454,4 +454,19 @@
 }
 
+STDMETHODIMP MachineDebugger::COMGETTER(LogFlags)(BSTR *a_pbstrSettings)
+{
+    ReturnComNotImplemented();
+}
+
+STDMETHODIMP MachineDebugger::COMGETTER(LogGroups)(BSTR *a_pbstrSettings)
+{
+    ReturnComNotImplemented();
+}
+
+STDMETHODIMP MachineDebugger::COMGETTER(LogDestinations)(BSTR *a_pbstrSettings)
+{
+    ReturnComNotImplemented();
+}
+
 /**
  * Returns the current hardware virtualization flag.
@@ -527,4 +542,14 @@
 
     return S_OK;
+}
+
+STDMETHODIMP MachineDebugger::COMGETTER(OSName)(BSTR *a_pbstrName)
+{
+    ReturnComNotImplemented();
+}
+
+STDMETHODIMP MachineDebugger::COMGETTER(OSVersion)(BSTR *a_pbstrVersion)
+{
+    ReturnComNotImplemented();
 }
 
@@ -711,4 +736,19 @@
 }
 
+STDMETHODIMP MachineDebugger::ModifyLogFlags(IN_BSTR a_bstrSettings)
+{
+    ReturnComNotImplemented();
+}
+
+STDMETHODIMP MachineDebugger::ModifyLogGroups(IN_BSTR a_bstrSettings)
+{
+    ReturnComNotImplemented();
+}
+
+STDMETHODIMP MachineDebugger::ModifyLogDestinations(IN_BSTR a_bstrSettings)
+{
+    ReturnComNotImplemented();
+}
+
 STDMETHODIMP MachineDebugger::ReadPhysicalMemory(LONG64 a_Address, ULONG a_cbRead, ComSafeArrayOut(BYTE, a_abData))
 {
@@ -731,4 +771,9 @@
 }
 
+STDMETHODIMP MachineDebugger::DetectOS(BSTR *a_pbstrName)
+{
+    ReturnComNotImplemented();
+}
+
 STDMETHODIMP MachineDebugger::GetRegister(ULONG a_idCpu, IN_BSTR a_bstrName, BSTR *a_pbstrValue)
 {
@@ -747,4 +792,9 @@
 
 STDMETHODIMP MachineDebugger::SetRegisters(ULONG a_idCpu, ComSafeArrayIn(IN_BSTR, a_bstrNames), ComSafeArrayIn(IN_BSTR, a_bstrValues))
+{
+    ReturnComNotImplemented();
+}
+
+STDMETHODIMP MachineDebugger::DumpGuestStack(ULONG a_idCpu, BSTR *a_pbstrStack)
 {
     ReturnComNotImplemented();
Index: /trunk/src/VBox/Main/idl/VirtualBox.xidl
===================================================================
--- /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 35249)
+++ /trunk/src/VBox/Main/idl/VirtualBox.xidl	(revision 35250)
@@ -11889,5 +11889,5 @@
   <interface
     name="IMachineDebugger" extends="$unknown"
-    uuid="b1fd749c-e471-4ae3-863f-54b4f787cdef"
+    uuid="1bfd2fa9-0d91-44d3-9515-368dcbb3eb4d"
     wsmap="suppress"
     >
@@ -11959,11 +11959,47 @@
     </method>
 
-    <method name="readPhysicalMemory">
-      <desc>
-        Reads guest physical memory, no side effects (MMIO++).
+    <method name="modifyLogGroups">
+      <desc>
+        Modifies the group settings of the debug logger.
 
         This feature is not implemented in the 4.0.0 release but may show up
         in a dot release.
       </desc>
+      <param name="settings" type="wstring" dir="in">
+        <desc>The group settings string. See iprt/log.h for details.</desc>
+      </param>
+    </method>
+
+    <method name="modifyLogFlags">
+      <desc>
+        Modifies the debug logger flags.
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
+      <param name="settings" type="wstring" dir="in">
+        <desc>The flags settings string. See iprt/log.h for details.</desc>
+      </param>
+    </method>
+
+    <method name="modifyLogDestinations">
+      <desc>
+        Modifies the debug logger destinations.
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
+      <param name="settings" type="wstring" dir="in">
+        <desc>The destination settings string. See iprt/log.h for details.</desc>
+      </param>
+    </method>
+
+    <method name="readPhysicalMemory">
+      <desc>
+        Reads guest physical memory, no side effects (MMIO++).
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
       <param name="address" type="long long" dir="in">
         <desc>The guest physical address.</desc>
@@ -12034,4 +12070,18 @@
       <param name="bytes" type="octet" safearray="yes" dir="in">
         <desc>The bytes to write.</desc>
+      </param>
+    </method>
+
+    <method name="detectOS">
+      <desc>
+        Tries to (re-)detect the guest OS kernel.
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
+      <param name="os" type="wstring" dir="return">
+        <desc>
+          The detected OS kernel on success.
+        </desc>
       </param>
     </method>
@@ -12123,4 +12173,19 @@
     </method>
 
+    <method name="dumpGuestStack">
+      <desc>
+        Produce a simple stack dump using the current guest state.
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
+      <param name="cpuId" type="unsigned long" dir="in">
+        <desc>The identifier of the Virtual CPU.</desc>
+      </param>
+      <param name="stack" type="wstring" dir="return">
+        <desc>String containing the formatted stack dump.</desc>
+      </param>
+    </method>
+
     <method name="resetStats">
       <desc>
@@ -12177,5 +12242,17 @@
 
     <attribute name="logEnabled" type="boolean">
-      <desc>Switch for enabling and disabling logging.</desc>
+      <desc>Switch for enabling and disabling the debug logger.</desc>
+    </attribute>
+
+    <attribute name="logFlags" type="wstring" readonly="yes">
+      <desc>The debug logger flags.</desc>
+    </attribute>
+
+    <attribute name="logGroups" type="wstring" readonly="yes">
+      <desc>The debug logger's group settings.</desc>
+    </attribute>
+
+    <attribute name="logDestinations" type="wstring" readonly="yes">
+      <desc>The debug logger's destination settings.</desc>
     </attribute>
 
@@ -12201,4 +12278,22 @@
     </attribute>
 
+    <attribute name="OSName" type="wstring" readonly="yes">
+      <desc>
+        Query the guest OS kernel name as detected by the DBGF.
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
+    </attribute>
+
+    <attribute name="OSVersion" type="wstring" readonly="yes">
+      <desc>
+        Query the guest OS kernel version string as detected by the DBGF.
+
+        This feature is not implemented in the 4.0.0 release but may show up
+        in a dot release.
+      </desc>
+    </attribute>
+
     <attribute name="PAEEnabled" type="boolean" readonly="yes">
       <desc>
@@ -12214,6 +12309,4 @@
       </desc>
     </attribute>
-
-    <!-- @todo method for setting log flags, groups and destination! -->
 
     <attribute name="VM" type="long long" readonly="yes">
Index: /trunk/src/VBox/Main/include/MachineDebuggerImpl.h
===================================================================
--- /trunk/src/VBox/Main/include/MachineDebuggerImpl.h	(revision 35249)
+++ /trunk/src/VBox/Main/include/MachineDebuggerImpl.h	(revision 35250)
@@ -65,8 +65,13 @@
     STDMETHOD(COMGETTER(LogEnabled)) (BOOL *aEnabled);
     STDMETHOD(COMSETTER(LogEnabled)) (BOOL aEnable);
+    STDMETHOD(COMGETTER(LogFlags)) (BSTR *a_pbstrSettings);
+    STDMETHOD(COMGETTER(LogGroups)) (BSTR *a_pbstrSettings);
+    STDMETHOD(COMGETTER(LogDestinations)) (BSTR *a_pbstrSettings);
     STDMETHOD(COMGETTER(HWVirtExEnabled)) (BOOL *aEnabled);
     STDMETHOD(COMGETTER(HWVirtExNestedPagingEnabled)) (BOOL *aEnabled);
     STDMETHOD(COMGETTER(HWVirtExVPIDEnabled)) (BOOL *aEnabled);
     STDMETHOD(COMGETTER(PAEEnabled)) (BOOL *aEnabled);
+    STDMETHOD(COMGETTER(OSName))(BSTR *a_pbstrName);
+    STDMETHOD(COMGETTER(OSVersion))(BSTR *a_pbstrVersion);
     STDMETHOD(COMGETTER(VirtualTimeRate)) (ULONG *aPct);
     STDMETHOD(COMSETTER(VirtualTimeRate)) (ULONG aPct);
@@ -78,12 +83,17 @@
     STDMETHOD(Info)(IN_BSTR a_bstrName, IN_BSTR a_bstrArgs, BSTR *a_bstrInfo);
     STDMETHOD(InjectNMI)();
+    STDMETHOD(ModifyLogFlags)(IN_BSTR a_bstrSettings);
+    STDMETHOD(ModifyLogGroups)(IN_BSTR a_bstrSettings);
+    STDMETHOD(ModifyLogDestinations)(IN_BSTR a_bstrSettings);
     STDMETHOD(ReadPhysicalMemory)(LONG64 a_Address, ULONG a_cbRead, ComSafeArrayOut(BYTE, a_abData));
     STDMETHOD(WritePhysicalMemory)(LONG64 a_Address, ULONG a_cbRead, ComSafeArrayIn(BYTE, a_abData));
     STDMETHOD(ReadVirtualMemory)(ULONG a_idCpu, LONG64 a_Address, ULONG a_cbRead, ComSafeArrayOut(BYTE, a_abData));
     STDMETHOD(WriteVirtualMemory)(ULONG a_idCpu, LONG64 a_Address, ULONG a_cbRead, ComSafeArrayIn(BYTE, a_abData));
+    STDMETHOD(DetectOS)(BSTR *a_pbstrName);
     STDMETHOD(GetRegister)(ULONG a_idCpu, IN_BSTR a_bstrName, BSTR *a_pbstrValue);
     STDMETHOD(GetRegisters)(ULONG a_idCpu, ComSafeArrayOut(BSTR, a_bstrNames), ComSafeArrayOut(BSTR, a_bstrValues));
     STDMETHOD(SetRegister)(ULONG a_idCpu, IN_BSTR a_bstrName, IN_BSTR a_bstrValue);
     STDMETHOD(SetRegisters)(ULONG a_idCpu, ComSafeArrayIn(IN_BSTR, a_bstrNames), ComSafeArrayIn(IN_BSTR, a_bstrValues));
+    STDMETHOD(DumpGuestStack)(ULONG a_idCpu, BSTR *a_pbstrStack);
     STDMETHOD(ResetStats)(IN_BSTR aPattern);
     STDMETHOD(DumpStats)(IN_BSTR aPattern);
