================ @@ -735,6 +735,56 @@ This is a performance optimization, which speeds up debugging by avoiding multiple round-trips for retrieving thread information. The information from this packet can be retrieved using a combination of `qThreadStopInfo` and `m` packets. +### MultiMemRead + +Read memory from multiple memory ranges. + +This packet has one argument: + +* `ranges`: a list of pairs of numbers, formatted in base-16. Each pair is +separated by a `,`, as is each number in each pair. The first number of the +pair denotes the base address of the memory read, the second denotes the number +of bytes to be read. The list must end with a `;`. + +The reply packet starts with a comma-separated list of numbers formatted in +base-16, denoting how many bytes were read from each range, in the same order +as the request packet. The list is followed by a `;`, followed by a sequence of +bytes containing binary encoded data for all memory that was read. The length +of this sequence must be equal to the sum of the numbers provided at the start +of the reply. The order of the binary data is the same as the order of the +ranges in the request packet. + +If an entire range is not readable, the stub may perform a partial read of a +prefix of the range. ---------------- DavidSpickett wrote:
But good to note anyway so that someone doesn't use this packet for a kind of "narrow down to the readable memory" strategy, by assuming partial reads tells them how close they are to the edge of a mapping. Also if we require stubs to always support partial reads, then they need to be slicing the reads into smaller and smaller chunks. Which I don't think we're trying to do with this packet. https://github.com/llvm/llvm-project/pull/162675 _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
