================
@@ -810,6 +809,112 @@ const char *SBProcess::GetBroadcasterClass() {
   return ConstString(Process::GetStaticBroadcasterClass()).AsCString();
 }
 
+lldb::SBAddressRangeList
+SBProcess::FindRangesInMemory(const void *buf, uint64_t size,
+                              SBAddressRangeList &ranges, uint32_t alignment,
+                              uint32_t max_matches) {
+  LLDB_INSTRUMENT_VA(this, buf, size, ranges, alignment, max_matches);
+
+  Log *log = GetLog(LLDBLog::Process);
+  lldb::SBAddressRangeList matches;
+
+  if (alignment == 0) {
+    LLDB_LOGF(log, "SBProcess::%s allignmet is 0, Must be greater than 0.",
+              __FUNCTION__);
+    return matches;
+  }
+
+  if (buf == nullptr) {
+    LLDB_LOGF(log, "SBProcess::%s provided 'buffer' is nullptr.", 
__FUNCTION__);
+    return matches;
+  }
+
+  if (size == 0) {
+    LLDB_LOGF(log, "SBProcess::%s buffer size is 0.", __FUNCTION__);
+    return matches;
+  }
+
+  if (ranges.GetSize() == 0) {
+    LLDB_LOGF(log, "SBProcess::%s provided 'range' is invalid.", __FUNCTION__);
+    return matches;
+  }
----------------
clayborg wrote:

We should do error checking / logging in one place. Right now we are doing the 
same checks here and also down the the `lldb_private::Process` methods. We 
should do them only in `lldb_private::Process` and just let this function call 
that function and let it do the checking.

https://github.com/llvm/llvm-project/pull/95007
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to