[Lldb-commits] [PATCH] D78801: [LLDB] Add class ProcessWasm for WebAssembly debugging

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Apr 29 16:46:08 PDT 2020

clayborg added a comment.

Sounds like we have an approach to try! I would like to see solutions that are not WASM specific when possible.

One other way of doing the memory read/write with segments: maybe the "m" and "M" packets can be overloaded include the memory segment identifier if the remote GDB server responds with "OK" to a QEnable packet. LLDB currently enables some features in the remote stub if the QEnable packet responds with "OK", like:

  <  23> send packet: $QSetDetachOnError:1#f8
  <   6> read packet: $OK#00

What if we added a new "QEnableMemorySegments" packet that then requires all memory reads/writes to include the memory segment in the packet? Without this or if the GDB server responds with "$#00" (unimplemented), the memory read packets look like:

  m addr,length
  M addr,length:XX…

If the GDB server responds with "OK" to the QEnableMemorySegments, then the packets become:

  m addr,segment,length
  M addr,segment,length:XX…

I am guessing we can't be the first to do segmented memory read/write via GDB server, so it would be good to look around to see what other may have done.

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list