diff --git a/VBox/Main/src-client/MachineDebuggerImpl.cpp b/VBox/Main/src-client/MachineDebuggerImpl.cpp
index 899965b..df3670a 100644
|
a
|
b
|
|
| 32 | 32 | #include <VBox/err.h> |
| 33 | 33 | #include <iprt/cpp/utils.h> |
| 34 | 34 | |
| | 35 | #include <VBox/vmm/pgm.h> |
| | 36 | |
| 35 | 37 | // defines |
| 36 | 38 | ///////////////////////////////////////////////////////////////////////////// |
| 37 | 39 | |
| … |
… |
STDMETHODIMP MachineDebugger::ModifyLogDestinations(IN_BSTR a_bstrSettings)
|
| 1037 | 1039 | |
| 1038 | 1040 | STDMETHODIMP MachineDebugger::ReadPhysicalMemory(LONG64 a_Address, ULONG a_cbRead, ComSafeArrayOut(BYTE, a_abData)) |
| 1039 | 1041 | { |
| 1040 | | ReturnComNotImplemented(); |
| | 1042 | Console::SafeVMPtrQuiet pVM (mParent); |
| | 1043 | |
| | 1044 | if (!pVM.isOk()) |
| | 1045 | return setError(VBOX_E_INVALID_VM_STATE, "Machine is not running"); |
| | 1046 | |
| | 1047 | int rc = E_UNEXPECTED; |
| | 1048 | try |
| | 1049 | { |
| | 1050 | com::SafeArray<BYTE> buf(a_cbRead); |
| | 1051 | rc = PGMPhysSimpleReadGCPhys(pVM.raw(), buf.raw(), a_Address, a_cbRead); |
| | 1052 | if (RT_SUCCESS(rc)) |
| | 1053 | { |
| | 1054 | buf.detachTo(ComSafeArrayOutArg(a_abData)); |
| | 1055 | } |
| | 1056 | else |
| | 1057 | { |
| | 1058 | RTLogRelPrintf("rc=%Rrc\n", rc); |
| | 1059 | return rc; |
| | 1060 | } |
| | 1061 | } |
| | 1062 | catch (std::bad_alloc) |
| | 1063 | { |
| | 1064 | return E_OUTOFMEMORY; |
| | 1065 | } |
| | 1066 | |
| | 1067 | return rc; |
| 1041 | 1068 | } |
| 1042 | 1069 | |
| 1043 | 1070 | STDMETHODIMP MachineDebugger::WritePhysicalMemory(LONG64 a_Address, ULONG a_cbRead, ComSafeArrayIn(BYTE, a_abData)) |