Index: /trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp	(revision 33853)
+++ /trunk/src/VBox/Additions/common/VBoxService/VBoxService.cpp	(revision 33854)
@@ -509,27 +509,7 @@
     RTR3Init();
 
-    /*
-     * Connect to the kernel part before daemonizing so we can fail and
-     * complain if there is some kind of problem.  We need to initialize the
-     * guest lib *before* we do the pre-init just in case one of services needs
-     * do to some initial stuff with it.
-     */
-    VBoxServiceVerbose(2, "Calling VbgR3Init()\n");
-    int rc = VbglR3Init();
-    if (RT_FAILURE(rc))
-        return VBoxServiceError("VbglR3Init failed with rc=%Rrc.\n", rc);
-
-#ifdef RT_OS_WINDOWS
-    /*
-     * Check if we're the specially spawned VBoxService.exe process that
-     * handles page fusion.  This saves an extra executable.
-     */
-    if (    argc == 2
-        &&  !strcmp(argv[1], "--pagefusionfork"))
-        return VBoxServicePageSharingInitFork();
-#endif
-
     g_pszProgName = RTPathFilename(argv[0]);
 
+    int rc;
 #ifdef VBOXSERVICE_TOOLBOX
     if (argc > 1)
@@ -543,4 +523,25 @@
             return rc;
     }
+#endif
+
+    /*
+     * Connect to the kernel part before daemonizing so we can fail and
+     * complain if there is some kind of problem.  We need to initialize the
+     * guest lib *before* we do the pre-init just in case one of services needs
+     * do to some initial stuff with it.
+     */
+    VBoxServiceVerbose(2, "Calling VbgR3Init()\n");
+    rc = VbglR3Init();
+    if (RT_FAILURE(rc))
+        return VBoxServiceError("VbglR3Init failed with rc=%Rrc.\n", rc);
+
+#ifdef RT_OS_WINDOWS
+    /*
+     * Check if we're the specially spawned VBoxService.exe process that
+     * handles page fusion.  This saves an extra executable.
+     */
+    if (    argc == 2
+        &&  !strcmp(argv[1], "--pagefusionfork"))
+        return VBoxServicePageSharingInitFork();
 #endif
 
Index: /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlExec.cpp
===================================================================
--- /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlExec.cpp	(revision 33853)
+++ /trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlExec.cpp	(revision 33854)
@@ -1039,4 +1039,8 @@
     rc = RTStrCopy(pszExpanded, cbExpanded, pszPath);
 #endif
+#ifdef DEBUG
+        VBoxServiceVerbose(3, "ControlExec: VBoxServiceControlExecMakeFullPath: %s -> %s\n",
+                           pszPath, pszExpanded);
+#endif
     return rc;
 }
@@ -1071,4 +1075,8 @@
 
         rc = VBoxServiceControlExecMakeFullPath(pszExecResolved, pszResolved, cbResolved);
+#ifdef DEBUG
+        VBoxServiceVerbose(3, "ControlExec: VBoxServiceControlExecResolveExecutable: %s -> %s\n",
+                           pszFileName, pszResolved);
+#endif
         RTStrFree(pszExecResolved);
     }
@@ -1120,4 +1128,8 @@
             if (RTStrAPrintf(&pszNewArgs, "%s %s", pszFileName, szArgsExp))
             {
+#ifdef DEBUG
+                VBoxServiceVerbose(3, "ControlExec: VBoxServiceControlExecPrepareArgv: %s\n",
+                                   pszNewArgs);
+#endif
                 int iNumArgsIgnored;
                 rc = RTGetOptArgvFromString(ppapszArgv, &iNumArgsIgnored,
@@ -1549,5 +1561,5 @@
 #ifdef DEBUG
     VBoxServiceVerbose(3, "ControlExec: Start process szCmd=%s, uFlags=%u, szArgs=%s, szEnv=%s, szUser=%s, szPW=%s, uTimeout=%u\n",
-                       szCmd, uFlags, szArgs, szEnv, szUser, szPassword, uTimeLimitMS);
+                       szCmd, uFlags, uNumArgs ? szArgs : "<None>", uNumEnvVars ? szEnv : "<None>", szUser, szPassword, uTimeLimitMS);
 #endif
     if (RT_SUCCESS(rc))
