Changeset 12424 in vbox
- Timestamp:
- Sep 12, 2008 2:45:16 PM (16 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/dbggui.h
r8155 r12424 48 48 typedef struct DBGGUI *PDBGGUI; 49 49 50 /** Virtual method table for the debugger GUI. */ 51 typedef struct DBGGUIVT 52 { 53 /** The version. (DBGGUIVT_VERSION) */ 54 uint32_t u32Version; 55 /** @copydoc DBGGuiDestroy */ 56 DECLCALLBACKMEMBER(int, pfnDestroy)(PDBGGUI pGui); 57 /** @copydoc DBGGuiAdjustRelativePos */ 58 DECLCALLBACKMEMBER(void, pfnAdjustRelativePos)(PDBGGUI pGui, int x, int y, unsigned cx, unsigned cy); 59 /** @copydoc DBGGuiShowStatistics */ 60 DECLCALLBACKMEMBER(int, pfnShowStatistics)(PDBGGUI pGui); 61 /** @copydoc DBGGuiShowCommandLine */ 62 DECLCALLBACKMEMBER(int, pfnShowCommandLine)(PDBGGUI pGui); 63 /** The end version. (DBGGUIVT_VERSION) */ 64 uint32_t u32EndVersion; 65 } DBGGUIVT; 66 /** Pointer to the virtual method table for the debugger GUI. */ 67 typedef DBGGUIVT const *PCDBGGUIVT; 68 /** The u32Version value. 69 * The first byte is the minor version, the 2nd byte is major version number. 70 * The high 16-bit word is a magic. */ 71 #define DBGGUIVT_VERSION 0xbead0100 72 73 50 74 /** 51 75 * Creates the debugger GUI. … … 54 78 * @param pSession The VirtualBox session. 55 79 * @param ppGui Where to store the pointer to the debugger instance. 80 * @param ppGuiVT Where to store the virtual method table pointer. 81 * Optional. 56 82 */ 57 DBGDECL(int) DBGGuiCreate(ISession *pSession, PDBGGUI *ppGui); 83 DBGDECL(int) DBGGuiCreate(ISession *pSession, PDBGGUI *ppGui, PCDBGGUIVT *ppGuiVT); 84 /** @copydoc DBGGuiCreate. */ 85 typedef DECLCALLBACK(int) FNDBGGUICREATE(ISession *pSession, PDBGGUI *ppGui, PCDBGGUIVT *ppGuiVT); 86 /** Pointer to DBGGuiCreate. */ 87 typedef FNDBGGUICREATE *PFNDBGGUICREATE; 58 88 59 89 /** -
trunk/src/VBox/Debugger/VBoxDbg.cpp
r9269 r12424 20 20 */ 21 21 22 22 /******************************************************************************* 23 * Header Files * 24 *******************************************************************************/ 23 25 #define VBOX_COM_NO_ATL 24 26 #include <VBox/dbggui.h> … … 31 33 32 34 35 /******************************************************************************* 36 * Structures and Typedefs * 37 *******************************************************************************/ 33 38 /** 34 39 * Debugger GUI instance data. … … 42 47 } DBGGUI; 43 48 44 /** DBGGUI magic value (Elizabeth Kostova). */ 45 #define DBGGUI_MAGIC 0x19640804 49 /** DBGGUI magic value (Werner Heisenberg). */ 50 #define DBGGUI_MAGIC 0x19011205 51 /** Invalid DBGGUI magic value. */ 52 #define DBGGUI_MAGIC_DEAD 0x19760201 53 54 55 /******************************************************************************* 56 * Global Variables * 57 *******************************************************************************/ 58 /** Virtual method table for simplifying dynamic linking. */ 59 static const DBGGUIVT g_dbgGuiVT = 60 { 61 DBGGUIVT_VERSION, 62 DBGGuiDestroy, 63 DBGGuiAdjustRelativePos, 64 DBGGuiShowStatistics, 65 DBGGuiShowCommandLine, 66 DBGGUIVT_VERSION 67 }; 68 46 69 47 70 … … 52 75 * @param pSession The Virtual Box session. 53 76 * @param ppGui Where to store the pointer to the debugger instance. 77 * @param ppGuiVT Where to store the virtual method table pointer. 78 * Optional. 54 79 */ 55 DBGDECL(int) DBGGuiCreate(ISession *pSession, PDBGGUI *ppGui )80 DBGDECL(int) DBGGuiCreate(ISession *pSession, PDBGGUI *ppGui, PCDBGGUIVT *ppGuiVT) 56 81 { 57 82 PDBGGUI pGui = (PDBGGUI)RTMemAlloc(sizeof(*pGui)); … … 65 90 { 66 91 *ppGui = pGui; 92 if (ppGuiVT) 93 *ppGuiVT = &g_dbgGuiVT; 67 94 return rc; 68 95 } … … 71 98 RTMemFree(pGui); 72 99 *ppGui = NULL; 100 if (ppGuiVT) 101 *ppGuiVT = NULL; 73 102 return rc; 74 103 } … … 93 122 * Do the job. 94 123 */ 95 pGui->u32Magic ++;124 pGui->u32Magic = DBGGUI_MAGIC_DEAD; 96 125 delete pGui->pVBoxDbgGui; 97 126 RTMemFree(pGui); -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxConsoleWnd.cpp
r12076 r12424 2187 2187 setWindowState (windowState() ^ WindowFullScreen); 2188 2188 2189 #ifdef Q_WS_MAC 2189 #ifdef Q_WS_MAC 2190 2190 if (aOn && aSeamless) 2191 2191 { … … 3448 3448 if (dbg_gui) 3449 3449 return true; 3450 int rc = DBGGuiCreate (csession.iface(), &dbg_gui );3450 int rc = DBGGuiCreate (csession.iface(), &dbg_gui, NULL); 3451 3451 if (VBOX_SUCCESS (rc)) 3452 3452 { -
trunk/src/VBox/Frontends/VirtualBox4/Makefile.kmk
r12397 r12424 152 152 VirtualBox4_DEFS.win = VBOX_GUI_USE_QIMAGE UNICODE QT_DLL 153 153 VirtualBox4_DEFS.win.amd64 = VBOX_WITHOUT_QHTTP 154 #ifndef VBOX_OSE155 154 ## @todo VBOX_WITH_HACKED_QT doesn't apply to Qt4, so why is this still here? 156 VirtualBox4_DEFS.darwin += VBOX_WITH_HACKED_QT 157 #endif 155 VirtualBox4_DEFS.darwin += VBOX_WITH_HACKED_QT 158 156 ifdef VBOX_WITH_ICHAT_THEATER 159 157 VirtualBox4_DEFS.darwin += VBOX_WITH_ICHAT_THEATER … … 225 223 VirtualBox4_LIBS += $(PATH_DLL)/VBoxKeyboard$(VBOX_SUFF_DLL) 226 224 endif 227 228 if "$(USER)" == "bird"229 ifdef VBOX_WITH_DEBUGGER_GUI ## @todo make this dynamically loadable and ship with release builds too.230 ifeq ($(KBUILD_TARGET),win)231 VirtualBox4_LIBS += $(PATH_LIB)/VBoxDbg$(VBOX_SUFF_LIB)232 else233 VirtualBox4_LIBS += $(PATH_DLL)/VBoxDbg$(VBOX_SUFF_DLL)234 endif235 endif236 endif237 238 225 239 226 # Headers containing definitions of classes that use the Q_OBJECT macro. -
trunk/src/VBox/Frontends/VirtualBox4/include/VBoxConsoleWnd.h
r12171 r12424 36 36 #include <QDialog> 37 37 38 #if defined(VBOX_WITH_DEBUGGER_GUI) && 038 #ifdef VBOX_WITH_DEBUGGER_GUI 39 39 # include <VBox/dbggui.h> 40 40 #endif … … 104 104 void retranslateUi(); 105 105 106 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0106 #ifdef VBOX_WITH_DEBUGGER_GUI 107 107 bool dbgCreated(); 108 108 void dbgDestroy(); … … 193 193 void dbgShowStatistics(); 194 194 void dbgShowCommandLine(); 195 void dbgLoggingToggled(bool aBool); 195 196 196 197 void onExitFullscreen(); … … 234 235 QAction *devicesInstallGuestToolsAction; 235 236 236 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0237 #ifdef VBOX_WITH_DEBUGGER_GUI 237 238 // Debugger actions 238 239 QAction *dbgStatisticsAction; 239 240 QAction *dbgCommandLineAction; 241 QAction *dbgLoggingAction; 240 242 #endif 241 243 … … 264 266 VBoxUSBMenu *mDevicesUSBMenu; 265 267 /* VBoxSwitchMenu *mDevicesVRDPMenu; */ 266 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0268 #ifdef VBOX_WITH_DEBUGGER_GUI 267 269 // Debugger popup menu 268 270 QMenu *mDbgMenu; … … 324 326 bool mIsAutoSaveMedia : 1; 325 327 326 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 327 // Debugger GUI 328 PDBGGUI dbg_gui; 328 #ifdef VBOX_WITH_DEBUGGER_GUI 329 /** The handle to the debugger gui. */ 330 PDBGGUI mDbgGui; 331 /** The virtual method table for the debugger GUI. */ 332 PCDBGGUIVT mDbgGuiVT; 329 333 #endif 330 334 -
trunk/src/VBox/Frontends/VirtualBox4/include/VBoxGlobal.h
r12331 r12424 237 237 const char *vmRenderModeStr() const { return vm_render_mode_str; } 238 238 239 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 240 bool isDebuggerEnabled() const { return dbg_enabled; } 241 bool isDebuggerVisibleAtStartup() const { return dbg_visible_at_startup; } 239 #ifdef VBOX_WITH_DEBUGGER_GUI 240 bool isDebuggerEnabled() const { return mDbgEnabled; } 241 bool isDebuggerAutoShowEnabled() const { return mDbgAutoShow; } 242 RTLDRMOD getDebuggerModule() const { return mhVBoxDbg; } 242 243 #endif 243 244 … … 716 717 const char * vm_render_mode_str; 717 718 718 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 719 bool dbg_enabled; 720 bool dbg_visible_at_startup; 719 #ifdef VBOX_WITH_DEBUGGER_GUI 720 /** Whether the debugger should be accessible or not. 721 * Use --dbg, the env.var. VBOX_GUI_DBG_ENABLED, --debug or the env.var. 722 * VBOX_GUI_DBG_AUTO_SHOW to enable. */ 723 bool mDbgEnabled; 724 /** Whether to show the debugger automatically with the console. 725 * Use --debug or the env.var. VBOX_GUI_DBG_AUTO_SHOW to enable. */ 726 bool mDbgAutoShow; 727 /** VBoxDbg module handle. */ 728 RTLDRMOD mhVBoxDbg; 721 729 #endif 722 730 -
trunk/src/VBox/Frontends/VirtualBox4/src/VBoxConsoleWnd.cpp
r12201 r12424 63 63 #endif 64 64 65 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 66 #include <VBox/err.h> 65 #ifdef VBOX_WITH_DEBUGGER_GUI 66 # include <VBox/err.h> 67 # include <iprt/ldr.h> 67 68 #endif 68 69 … … 115 116 : QIWithRetranslateUI2<QMainWindow> (aParent, aFlags) 116 117 , mMainMenu (0) 117 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0118 #ifdef VBOX_WITH_DEBUGGER_GUI 118 119 , dbgStatisticsAction (NULL) 119 120 , dbgCommandLineAction (NULL) 121 , dbgLoggingAction (NULL) 120 122 , mDbgMenu (NULL) 121 123 #endif … … 133 135 , mIsFirstTimeStarted (false) 134 136 , mIsAutoSaveMedia (true) 135 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 136 , dbg_gui (NULL) 137 #ifdef VBOX_WITH_DEBUGGER_GUI 138 , mDbgGui (NULL) 139 , mDbgGuiVT (NULL) 137 140 #endif 138 141 #ifdef Q_WS_MAC … … 262 265 ":/guesttools_disabled_16px.png")); 263 266 264 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0267 #ifdef VBOX_WITH_DEBUGGER_GUI 265 268 if (vboxGlobal().isDebuggerEnabled()) 266 269 { 267 270 dbgStatisticsAction = new QAction (this); 268 271 dbgCommandLineAction = new QAction (this); 272 dbgLoggingAction = new QAction (this); 273 dbgLoggingAction->setCheckable (true); 274 dbgLoggingAction->setIcon (VBoxGlobal::iconSet (":/start_16px.png")); /// @todo find the default check boxes. 269 275 } 270 276 else … … 272 278 dbgStatisticsAction = NULL; 273 279 dbgCommandLineAction = NULL; 280 dbgLoggingAction = NULL; 274 281 } 275 282 #endif … … 355 362 mDevicesUSBMenu->menuAction()->setData (false); 356 363 357 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0364 #ifdef VBOX_WITH_DEBUGGER_GUI 358 365 /* Debug popup menu */ 359 366 if (vboxGlobal().isDebuggerEnabled()) … … 363 370 mDbgMenu->addAction (dbgStatisticsAction); 364 371 mDbgMenu->addAction (dbgCommandLineAction); 372 mDbgMenu->addAction (dbgLoggingAction); 365 373 } 366 374 else … … 555 563 this, SLOT (processGlobalSettingChange (const char *, const char *))); 556 564 557 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0565 #ifdef VBOX_WITH_DEBUGGER_GUI 558 566 if (dbgStatisticsAction) 559 567 connect (dbgStatisticsAction, SIGNAL (triggered()), … … 562 570 connect (dbgCommandLineAction, SIGNAL (triggered()), 563 571 this, SLOT (dbgShowCommandLine())); 572 if (dbgLoggingAction) 573 connect (dbgLoggingAction, SIGNAL (toggled (bool)), 574 this, SLOT (dbgLoggingToggled (bool))); 564 575 #endif 565 576 … … 852 863 console->onViewOpened(); 853 864 865 #ifdef VBOX_WITH_DEBUGGER_GUI 866 /* open debugger windows if requested */ 867 if (vboxGlobal().isDebuggerAutoShowEnabled()) 868 { 869 move (QPoint (0, 0)); 870 dbgShowStatistics(); 871 dbgShowCommandLine(); 872 } 873 #endif 874 854 875 bool saved = machine_state == KMachineState_Saved; 855 876 … … 918 939 return; 919 940 } 920 921 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0922 /* open debugger windows if requested */923 if (vboxGlobal().isDebuggerVisibleAtStartup())924 {925 move (QPoint (0, 0));926 dbgShowStatistics();927 dbgShowCommandLine();928 }929 #endif930 941 931 942 /* Currently the machine is started and the guest API could be used... … … 1100 1111 { 1101 1112 mNormalGeo.setSize (re->size()); 1102 #if defined(VBOX_WITH_DEBUGGER_GUI) && 01113 #ifdef VBOX_WITH_DEBUGGER_GUI 1103 1114 dbgAdjustRelativePos(); 1104 1115 #endif … … 1120 1131 { 1121 1132 mNormalGeo.moveTo (geometry().x(), geometry().y()); 1122 #if defined(VBOX_WITH_DEBUGGER_GUI) && 01133 #ifdef VBOX_WITH_DEBUGGER_GUI 1123 1134 dbgAdjustRelativePos(); 1124 1135 #endif … … 1539 1550 tr ("Mount the Guest Additions installation image")); 1540 1551 1541 #if defined(VBOX_WITH_DEBUGGER_GUI) && 01552 #ifdef VBOX_WITH_DEBUGGER_GUI 1542 1553 /* Debug actions */ 1543 1554 … … 1546 1557 if (dbgCommandLineAction) 1547 1558 dbgCommandLineAction->setText (tr ("&Command Line...", "debug action")); 1559 if (dbgLoggingAction) 1560 dbgLoggingAction->setText (tr ("&Logging...", "debug action")); 1548 1561 #endif 1549 1562 … … 1567 1580 // mDevicesMenu->setIcon (VBoxGlobal::iconSet (":/settings_16px.png")); 1568 1581 1569 #if defined(VBOX_WITH_DEBUGGER_GUI) && 01582 #ifdef VBOX_WITH_DEBUGGER_GUI 1570 1583 if (vboxGlobal().isDebuggerEnabled()) 1571 1584 mDbgMenu->setTitle (tr ("De&bug")); … … 3391 3404 void VBoxConsoleWnd::dbgShowStatistics() 3392 3405 { 3393 #if defined(VBOX_WITH_DEBUGGER_GUI) && 03406 #ifdef VBOX_WITH_DEBUGGER_GUI 3394 3407 if (dbgCreated()) 3395 DBGGuiShowStatistics (dbg_gui);3408 mDbgGuiVT->pfnShowStatistics (mDbgGui); 3396 3409 #endif 3397 3410 } … … 3402 3415 void VBoxConsoleWnd::dbgShowCommandLine() 3403 3416 { 3404 #if defined(VBOX_WITH_DEBUGGER_GUI) && 03417 #ifdef VBOX_WITH_DEBUGGER_GUI 3405 3418 if (dbgCreated()) 3406 DBGGuiShowCommandLine (dbg_gui); 3407 #endif 3408 } 3409 3410 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 3419 mDbgGuiVT->pfnShowCommandLine (mDbgGui); 3420 #endif 3421 } 3422 3423 /** 3424 * Called when the Debug->Logging menu item is selected. 3425 */ 3426 void VBoxConsoleWnd::dbgLoggingToggled(bool aState) 3427 { 3428 NOREF(aState); 3429 #ifdef VBOX_WITH_DEBUGGER_GUI 3430 CConsole cconsole = csession.GetConsole(); 3431 if (cconsole.isOk()) 3432 { 3433 CMachineDebugger cdebugger = cconsole.GetDebugger(); 3434 if (cconsole.isOk()) 3435 cdebugger.SetLogEnabled(aState); 3436 } 3437 #endif 3438 } 3439 3440 #ifdef VBOX_WITH_DEBUGGER_GUI 3411 3441 3412 3442 /** … … 3418 3448 bool VBoxConsoleWnd::dbgCreated() 3419 3449 { 3420 if ( dbg_gui)3450 if (mDbgGui) 3421 3451 return true; 3422 int rc = DBGGuiCreate (csession.iface(), &dbg_gui); 3423 if (VBOX_SUCCESS (rc)) 3424 { 3425 dbgAdjustRelativePos(); 3426 return true; 3427 } 3452 3453 RTLDRMOD hLdrMod = vboxGlobal().getDebuggerModule(); 3454 if (hLdrMod == NIL_RTLDRMOD) 3455 return false; 3456 3457 PFNDBGGUICREATE pfnGuiCreate; 3458 int rc = RTLdrGetSymbol (hLdrMod, "DBGGuiCreate", (void **)&pfnGuiCreate); 3459 if (RT_SUCCESS (rc)) 3460 { 3461 rc = pfnGuiCreate (csession.iface(), &mDbgGui, &mDbgGuiVT); 3462 if (RT_SUCCESS (rc)) 3463 { 3464 dbgAdjustRelativePos(); 3465 return true; 3466 } 3467 LogRel(("DBGGuiCreate failed, rc=%Rrc\n", rc)); 3468 } 3469 else 3470 LogRel(("RTLdrGetSymbol(,\"DBGGuiCreate\",) -> %Rrc\n", rc)); 3471 3472 mDbgGui = NULL; 3473 mDbgGuiVT = NULL; 3428 3474 return false; 3429 3475 } … … 3434 3480 void VBoxConsoleWnd::dbgDestroy() 3435 3481 { 3436 if (dbg_gui) 3437 { 3438 DBGGuiDestroy (dbg_gui); 3439 dbg_gui = NULL; 3482 if (mDbgGui) 3483 { 3484 mDbgGuiVT->pfnDestroy (mDbgGui); 3485 mDbgGui = NULL; 3486 mDbgGuiVT = NULL; 3440 3487 } 3441 3488 } … … 3446 3493 void VBoxConsoleWnd::dbgAdjustRelativePos() 3447 3494 { 3448 if ( dbg_gui)3495 if (mDbgGui) 3449 3496 { 3450 3497 QRect rct = frameGeometry(); 3451 DBGGuiAdjustRelativePos (dbg_gui, rct.x(), rct.y(), rct.width(), rct.height());3452 } 3453 } 3454 3455 #endif 3498 mDbgGuiVT->pfnAdjustRelativePos (mDbgGui, rct.x(), rct.y(), rct.width(), rct.height()); 3499 } 3500 } 3501 3502 #endif /* VBOX_WITH_DEBUGGER_GUI */ 3456 3503 3457 3504 VBoxSFDialog::VBoxSFDialog (QWidget *aParent, CSession &aSession) -
trunk/src/VBox/Frontends/VirtualBox4/src/VBoxGlobal.cpp
r12373 r12424 85 85 #include <iprt/env.h> 86 86 #include <iprt/file.h> 87 #include <iprt/ldr.h> 87 88 88 89 #if defined (Q_WS_X11) … … 4000 4001 /** 4001 4002 * Automatically figure out which hdd backends are currently support by vbox. 4002 * Returned is a list of pairs with the form 4003 * Returned is a list of pairs with the form 4003 4004 * <"Backend Name", "*.suffix1 *.suffix2 ...">. 4004 4005 */ … … 4510 4511 4511 4512 vm_render_mode_str = 0; 4512 #if defined(VBOX_WITH_DEBUGGER_GUI) && 04513 # ifdef VBOX_WITH_DEBUGGER_GUI_MENU4514 dbg_enabled = true;4515 # else4516 dbg_enabled = false;4517 # endif4518 dbg_visible_at_startup = false;4513 #ifdef VBOX_WITH_DEBUGGER_GUI 4514 # ifdef VBOX_WITH_DEBUGGER_GUI_MENU 4515 mDbgEnabled = true; 4516 # else 4517 mDbgEnabled = RTEnvExist("VBOX_GUI_DBG_ENABLED"); 4518 # endif 4519 mDbgAutoShow = RTEnvExist("VBOX_GUI_DBG_AUTO_SHOW"); 4519 4520 #endif 4520 4521 … … 4555 4556 vm_render_mode_str = qApp->argv() [i]; 4556 4557 } 4557 #if defined(VBOX_WITH_DEBUGGER_GUI) && 0 4558 else if (!::strcmp (arg, "-dbg")) 4559 { 4560 dbg_enabled = true; 4561 } 4562 #ifdef DEBUG 4563 else if (!::strcmp (arg, "-nodebug")) 4564 { 4565 dbg_enabled = false; 4566 dbg_visible_at_startup = false; 4567 } 4568 #else 4569 else if (!::strcmp( arg, "-debug")) 4570 { 4571 dbg_enabled = true; 4572 dbg_visible_at_startup = true; 4558 #ifdef VBOX_WITH_DEBUGGER_GUI 4559 else if (!::strcmp (arg, "-dbg") || !::strcmp (arg, "--dbg")) 4560 { 4561 mDbgEnabled = true; 4562 } 4563 else if (!::strcmp( arg, "-debug") || !::strcmp( arg, "--debug")) 4564 { 4565 mDbgEnabled = true; 4566 mDbgAutoShow = true; 4567 } 4568 else if (!::strcmp (arg, "-no-debug") || !::strcmp (arg, "--no-debug")) 4569 { 4570 mDbgEnabled = false; 4571 mDbgAutoShow = false; 4573 4572 } 4574 4573 #endif 4575 #endif 4574 /** @todo add an else { msgbox(syntax error); exit(1); } here, pretty please... */ 4576 4575 i++; 4577 4576 } … … 4585 4584 if (!mVBox.isOk()) 4586 4585 return; 4586 4587 #ifdef VBOX_WITH_DEBUGGER_GUI 4588 /* setup the debugger gui. */ 4589 if (RTEnvExist("VBOX_GUI_NO_DEBUGGER")) 4590 mDbgEnabled = mDbgAutoShow = false; 4591 if (mDbgEnabled) 4592 { 4593 int rc = SUPR3HardenedLdrLoadAppPriv("VBoxDbg", &mhVBoxDbg); 4594 if (RT_FAILURE(rc)) 4595 { 4596 mhVBoxDbg = NIL_RTLDRMOD; 4597 mDbgAutoShow = false; 4598 LogRel(("Failed to load VBoxDbg, rc=%Rrc\n", rc)); 4599 } 4600 } 4601 #endif 4587 4602 4588 4603 mValid = true;
Note:
See TracChangeset
for help on using the changeset viewer.