mirror of
https://github.com/reactos/reactos.git
synced 2024-10-06 01:13:38 +00:00
Add back some stuff that got lost in syncing
svn path=/branches/ros-amd64-bringup/; revision=43432
This commit is contained in:
parent
55f70cb149
commit
c615edc822
|
@ -179,7 +179,7 @@ KdpRestoreBreakPointEx(IN PDBGKD_MANIPULATE_STATE64 State,
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
DumpTraceData(IN PSTRING TraceData)
|
DumpTraceData(OUT PSTRING TraceData)
|
||||||
{
|
{
|
||||||
/* Update the buffer */
|
/* Update the buffer */
|
||||||
TraceDataBuffer[0] = TraceDataBufferPosition;
|
TraceDataBuffer[0] = TraceDataBufferPosition;
|
||||||
|
@ -196,7 +196,7 @@ VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
KdpSetCommonState(IN ULONG NewState,
|
KdpSetCommonState(IN ULONG NewState,
|
||||||
IN PCONTEXT Context,
|
IN PCONTEXT Context,
|
||||||
IN PDBGKD_WAIT_STATE_CHANGE64 WaitStateChange)
|
OUT PDBGKD_WAIT_STATE_CHANGE64 WaitStateChange)
|
||||||
{
|
{
|
||||||
USHORT InstructionCount;
|
USHORT InstructionCount;
|
||||||
BOOLEAN HadBreakpoints;
|
BOOLEAN HadBreakpoints;
|
||||||
|
@ -267,6 +267,7 @@ KdpReadVirtualMemory(IN PDBGKD_MANIPULATE_STATE64 State,
|
||||||
STRING Header;
|
STRING Header;
|
||||||
ULONG Length = State->u.ReadMemory.TransferCount;
|
ULONG Length = State->u.ReadMemory.TransferCount;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
ULONG64 TargetBaseAddress = State->u.ReadMemory.TargetBaseAddress;
|
||||||
|
|
||||||
/* Validate length */
|
/* Validate length */
|
||||||
if (Length > (PACKET_MAX_SIZE - sizeof(DBGKD_MANIPULATE_STATE64)))
|
if (Length > (PACKET_MAX_SIZE - sizeof(DBGKD_MANIPULATE_STATE64)))
|
||||||
|
@ -284,7 +285,15 @@ KdpReadVirtualMemory(IN PDBGKD_MANIPULATE_STATE64 State,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!State->u.ReadMemory.TargetBaseAddress)
|
// HACK for x64, until KD stops sending bogus addresses to WinDbg
|
||||||
|
if (TargetBaseAddress < (ULONG_PTR)MM_LOWEST_SYSTEM_ADDRESS)
|
||||||
|
{
|
||||||
|
FrLdrDbgPrint("Trying to read memory at 0x%p\n", TargetBaseAddress);
|
||||||
|
// DPRINT1("Trying to read memory at 0x%p\n", TargetBaseAddress);
|
||||||
|
TargetBaseAddress = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!TargetBaseAddress)
|
||||||
{
|
{
|
||||||
Length = 0;
|
Length = 0;
|
||||||
Status = STATUS_UNSUCCESSFUL;
|
Status = STATUS_UNSUCCESSFUL;
|
||||||
|
@ -1245,7 +1254,7 @@ KdpReportExceptionStateChange(IN PEXCEPTION_RECORD ExceptionRecord,
|
||||||
KdpSetContextState(&WaitStateChange, Context);
|
KdpSetContextState(&WaitStateChange, Context);
|
||||||
|
|
||||||
/* Setup the actual header to send to KD */
|
/* Setup the actual header to send to KD */
|
||||||
Header.Length = sizeof(DBGKD_WAIT_STATE_CHANGE64);
|
Header.Length = sizeof(DBGKD_WAIT_STATE_CHANGE64) - sizeof(CONTEXT);
|
||||||
Header.Buffer = (PCHAR)&WaitStateChange;
|
Header.Buffer = (PCHAR)&WaitStateChange;
|
||||||
|
|
||||||
/* Setup the trace data */
|
/* Setup the trace data */
|
||||||
|
|
Loading…
Reference in a new issue