VBoxDbgBase.cpp revision ec9a11eb28318df36cc0c39d53454ac2729e932e
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * VBox Debugger GUI - Base class.
c58f1213e628a545081c70e26c6b67a841cff880vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * available from http://www.virtualbox.org. This file is free software;
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * you can redistribute it and/or modify it under the terms of the GNU
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * General Public License (GPL) as published by the Free Software
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * additional information or have any questions.
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync/*******************************************************************************
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync* Header Files *
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync*******************************************************************************/
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsyncVBoxDbgBase::VBoxDbgBase(PVM pVM) : m_pVM(pVM), m_hGUIThread(RTThreadNativeSelf())
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync int rc = VMR3AtStateRegister(pVM, atStateChange, this);
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync * If the VM is still around.
fe02cc356f7bd01a7ffbcd6ceb8ca09bb1c35330vboxsync int rc = VMR3AtStateDeregister(m_pVM, atStateChange, this);
if (m_pVM)
return VERR_INVALID_HANDLE;
#ifdef VBOXDBG_USE_QT4
if (m_pVM)
return VERR_INVALID_HANDLE;
if (m_pVM)
return VERR_INVALID_HANDLE;
/*static*/ DECLCALLBACK(void) VBoxDbgBase::atStateChange(PVM /*pVM*/, VMSTATE enmState, VMSTATE /*enmOldState*/, void *pvUser)
switch (enmState)
case VMSTATE_TERMINATED: