Jump to content

DBG C WriteMemBuf: Difference between revisions

From EDM2
Created page with "Debug Command 23 - Write Memory Buffer Command ;Parameters *Pid= Process ID of debuggee *Cmd= DBG_C_WriteMemBuf *Addr= Debuggee address to write to *Buffer= Debugger add..."
 
Ak120 (talk | contribs)
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
Debug Command 23 - Write Memory Buffer Command  
{{DISPLAYTITLE:DBG_C_WriteMemBuf}}
 
Debug Command 23 - Write Memory Buffer Command
;Parameters
*Pid= Process ID of debuggee
*Cmd= DBG_C_WriteMemBuf
*Addr= Debuggee address to write to
*Buffer= Debugger address to copy from
*Len= Number of bytes to write
 
;Returns


The number of bytes specified by Len is copied from the debugger's Buffer into the debuggee's memory space starting at Addr.
;Parameters
*Pid= Process ID of debuggee
*Cmd= DBG_C_WriteMemBuf
*Addr= Debuggee address to write to
*Buffer= Debugger address to copy from
*Len= Number of bytes to write


This command is not serialized with respect to the DBG_C_Go command.  
;Returns
The number of bytes specified by Len is copied from the debugger's Buffer into the debuggee's memory space starting at Addr.


In the case of a write to shared read-only memory, the memory is first converted to private, and any set dynamic RAS logging points are removed from that memory, before the write is performed.  
This command is not serialized with respect to the [[DBG_C_Go]] command.


Dynamic RAS logging will continue to function in that area, in the context of other processes. The area will continue to be shared by other processes, if any.  
In the case of a write to shared read-only memory, the memory is first converted to private, and any set dynamic RAS logging points are removed from that memory, before the write is performed.


In this way, breakpoints may be set in the debuggee without affecting the other modules.  
Dynamic RAS logging will continue to function in that area, in the context of other processes. The area will continue to be shared by other processes, if any.


;Restrictions
In this way, breakpoints may be set in the debuggee without affecting the other modules.


You are unable to write to any memory outside user space.  
;Restrictions
You are unable to write to any memory outside user space.


Both specified memory regions must be currently valid.  
Both specified memory regions must be currently valid.


[[Category:DBG_C]]
[[Category:Debug Command]]
{{DISPLAYTITLE:DBG_C_WriteMemBuf}}

Latest revision as of 17:09, 10 March 2020

Debug Command 23 - Write Memory Buffer Command

Parameters
  • Pid= Process ID of debuggee
  • Cmd= DBG_C_WriteMemBuf
  • Addr= Debuggee address to write to
  • Buffer= Debugger address to copy from
  • Len= Number of bytes to write
Returns

The number of bytes specified by Len is copied from the debugger's Buffer into the debuggee's memory space starting at Addr.

This command is not serialized with respect to the DBG_C_Go command.

In the case of a write to shared read-only memory, the memory is first converted to private, and any set dynamic RAS logging points are removed from that memory, before the write is performed.

Dynamic RAS logging will continue to function in that area, in the context of other processes. The area will continue to be shared by other processes, if any.

In this way, breakpoints may be set in the debuggee without affecting the other modules.

Restrictions

You are unable to write to any memory outside user space.

Both specified memory regions must be currently valid.