[Lldb-commits] [lldb] [LLDB][SBSaveCore] Add selectable memory regions to SBSaveCore (PR #105442)
via lldb-commits
lldb-commits at lists.llvm.org
Tue Aug 20 15:10:46 PDT 2024
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff c4bf949171a72383d5ba4d2b587d4cc496aacebb 001ed7aa004480e052d5aecf29c7ce8132c60d24 --extensions h,cpp -- lldb/include/lldb/API/SBMemoryRegionInfo.h lldb/include/lldb/API/SBMemoryRegionInfoList.h lldb/include/lldb/API/SBSaveCoreOptions.h lldb/include/lldb/Symbol/SaveCoreOptions.h lldb/include/lldb/Target/Process.h lldb/include/lldb/Utility/RangeMap.h lldb/include/lldb/lldb-enumerations.h lldb/include/lldb/lldb-forward.h lldb/include/lldb/lldb-private-interfaces.h lldb/source/API/SBSaveCoreOptions.cpp lldb/source/Commands/CommandObjectProcess.cpp lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h lldb/source/Plugins/ObjectFile/Minidump/ObjectFileMinidump.h lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h lldb/source/Symbol/SaveCoreOptions.cpp lldb/source/Target/Process.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/lldb/include/lldb/Symbol/SaveCoreOptions.h b/lldb/include/lldb/Symbol/SaveCoreOptions.h
index a95686ada9..d90d080260 100644
--- a/lldb/include/lldb/Symbol/SaveCoreOptions.h
+++ b/lldb/include/lldb/Symbol/SaveCoreOptions.h
@@ -12,11 +12,10 @@
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/RangeMap.h"
-
#include <optional>
+#include <set>
#include <string>
#include <unordered_set>
-#include <set>
using MemoryRanges = lldb_private::RangeVector<lldb::addr_t, lldb::addr_t>;
@@ -44,7 +43,7 @@ public:
bool HasSpecifiedThreads() const;
Status EnsureValidConfiguration(lldb::ProcessSP process_sp) const;
- const MemoryRanges& GetCoreFileMemoryRanges() const;
+ const MemoryRanges &GetCoreFileMemoryRanges() const;
void AddMemoryRegionToSave(const lldb_private::MemoryRegionInfo ®ion);
diff --git a/lldb/include/lldb/Target/Process.h b/lldb/include/lldb/Target/Process.h
index 73228f13dc..a192065c4d 100644
--- a/lldb/include/lldb/Target/Process.h
+++ b/lldb/include/lldb/Target/Process.h
@@ -35,6 +35,7 @@
#include "lldb/Host/ProcessLaunchInfo.h"
#include "lldb/Host/ProcessRunLock.h"
#include "lldb/Symbol/ObjectFile.h"
+#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Target/ExecutionContextScope.h"
#include "lldb/Target/InstrumentationRuntime.h"
#include "lldb/Target/Memory.h"
@@ -43,7 +44,6 @@
#include "lldb/Target/ThreadList.h"
#include "lldb/Target/ThreadPlanStack.h"
#include "lldb/Target/Trace.h"
-#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Utility/AddressableBits.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/Broadcaster.h"
@@ -734,7 +734,9 @@ public:
}
};
- using CoreFileMemoryRanges = lldb_private::RangeDataVector<lldb::addr_t, lldb::addr_t, CoreFileMemoryRange>;
+ using CoreFileMemoryRanges =
+ lldb_private::RangeDataVector<lldb::addr_t, lldb::addr_t,
+ CoreFileMemoryRange>;
/// Helper function for Process::SaveCore(...) that calculates the address
/// ranges that should be saved. This allows all core file plug-ins to save
diff --git a/lldb/include/lldb/Utility/RangeMap.h b/lldb/include/lldb/Utility/RangeMap.h
index dacc638c19..216863ac96 100644
--- a/lldb/include/lldb/Utility/RangeMap.h
+++ b/lldb/include/lldb/Utility/RangeMap.h
@@ -449,8 +449,8 @@ public:
~RangeDataVector() = default;
void Append(const Entry &entry) { m_entries.emplace_back(entry); }
-
- void Append(const B&& b, const S&& s, const T&& t) {
+
+ void Append(const B &&b, const S &&s, const T &&t) {
m_entries.emplace_back(Entry(b, s, t));
}
diff --git a/lldb/source/API/SBSaveCoreOptions.cpp b/lldb/source/API/SBSaveCoreOptions.cpp
index 03d237d349..b9853f85cf 100644
--- a/lldb/source/API/SBSaveCoreOptions.cpp
+++ b/lldb/source/API/SBSaveCoreOptions.cpp
@@ -93,10 +93,10 @@ bool SBSaveCoreOptions::RemoveThread(lldb::SBThread thread) {
return m_opaque_up->RemoveThread(thread.GetSP());
}
-
-lldb::SBError SBSaveCoreOptions::AddMemoryRegionToSave(const SBMemoryRegionInfo ®ion) {
+lldb::SBError
+SBSaveCoreOptions::AddMemoryRegionToSave(const SBMemoryRegionInfo ®ion) {
LLDB_INSTRUMENT_VA(this, region);
- // Currently add memory region can't fail, so we always return a success
+ // Currently add memory region can't fail, so we always return a success
// SBerror, but because these API's live forever, this is the most future
// proof thing to do.
m_opaque_up->AddMemoryRegionToSave(region.ref());
diff --git a/lldb/source/Commands/CommandObjectProcess.cpp b/lldb/source/Commands/CommandObjectProcess.cpp
index 398eb574f7..1a5ce7de8c 100644
--- a/lldb/source/Commands/CommandObjectProcess.cpp
+++ b/lldb/source/Commands/CommandObjectProcess.cpp
@@ -25,13 +25,13 @@
#include "lldb/Interpreter/OptionArgParser.h"
#include "lldb/Interpreter/OptionGroupPythonClassWithDict.h"
#include "lldb/Interpreter/Options.h"
+#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/UnixSignals.h"
-#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Utility/Args.h"
#include "lldb/Utility/ScriptedMetadata.h"
#include "lldb/Utility/State.h"
diff --git a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
index fb323b7873..47728d4d1a 100644
--- a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
+++ b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
@@ -830,7 +830,8 @@ Status MinidumpFileBuilder::AddMemoryList() {
all_core_memory_ranges);
std::vector<Process::CoreFileMemoryRange> all_core_memory_vec;
- // Extract all the data into just a vector of data. So we can mutate this in place.
+ // Extract all the data into just a vector of data. So we can mutate this in
+ // place.
for (const auto &core_range : all_core_memory_ranges)
all_core_memory_vec.push_back(core_range.data);
@@ -962,8 +963,8 @@ GetLargestRangeSize(const std::vector<Process::CoreFileMemoryRange> &ranges) {
return max_size;
}
-Status
-MinidumpFileBuilder::AddMemoryList_32(std::vector<Process::CoreFileMemoryRange> &ranges) {
+Status MinidumpFileBuilder::AddMemoryList_32(
+ std::vector<Process::CoreFileMemoryRange> &ranges) {
std::vector<MemoryDescriptor> descriptors;
Status error;
if (ranges.size() == 0)
@@ -1037,8 +1038,8 @@ MinidumpFileBuilder::AddMemoryList_32(std::vector<Process::CoreFileMemoryRange>
return error;
}
-Status
-MinidumpFileBuilder::AddMemoryList_64(std::vector<Process::CoreFileMemoryRange> &ranges) {
+Status MinidumpFileBuilder::AddMemoryList_64(
+ std::vector<Process::CoreFileMemoryRange> &ranges) {
Status error;
if (ranges.empty())
return error;
diff --git a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
index 195650de31..8651cddeed 100644
--- a/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
+++ b/lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
@@ -23,9 +23,9 @@
#include <utility>
#include <variant>
+#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
-#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/Status.h"
#include "lldb/lldb-forward.h"
@@ -120,10 +120,10 @@ private:
// trigger a flush.
lldb_private::Status AddData(const void *data, uint64_t size);
// Add MemoryList stream, containing dumps of important memory segments
- lldb_private::Status
- AddMemoryList_64(std::vector<lldb_private::Process::CoreFileMemoryRange> &ranges);
- lldb_private::Status
- AddMemoryList_32(std::vector<lldb_private::Process::CoreFileMemoryRange> &ranges);
+ lldb_private::Status AddMemoryList_64(
+ std::vector<lldb_private::Process::CoreFileMemoryRange> &ranges);
+ lldb_private::Status AddMemoryList_32(
+ std::vector<lldb_private::Process::CoreFileMemoryRange> &ranges);
// Update the thread list on disk with the newly emitted stack RVAs.
lldb_private::Status FixThreadStacks();
lldb_private::Status FlushBufferToDisk();
diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
index 8b0e0c5250..8d9c919bc9 100644
--- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
@@ -17,10 +17,10 @@
#include "lldb/Interpreter/OptionValueDictionary.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Symbol/ObjectFile.h"
+#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
-#include "lldb/Symbol/SaveCoreOptions.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/FileSpec.h"
diff --git a/lldb/source/Symbol/SaveCoreOptions.cpp b/lldb/source/Symbol/SaveCoreOptions.cpp
index e6a9c483c8..0d45847a3b 100644
--- a/lldb/source/Symbol/SaveCoreOptions.cpp
+++ b/lldb/source/Symbol/SaveCoreOptions.cpp
@@ -31,9 +31,7 @@ Status SaveCoreOptions::SetPluginName(const char *name) {
return error;
}
-void SaveCoreOptions::SetStyle(lldb::SaveCoreStyle style) {
- m_style = style;
-}
+void SaveCoreOptions::SetStyle(lldb::SaveCoreStyle style) { m_style = style; }
void SaveCoreOptions::SetOutputFile(FileSpec file) { m_file = file; }
@@ -107,7 +105,8 @@ bool SaveCoreOptions::HasSpecifiedThreads() const {
return !m_threads_to_save.empty();
}
-void SaveCoreOptions::AddMemoryRegionToSave(const lldb_private::MemoryRegionInfo ®ion) {
+void SaveCoreOptions::AddMemoryRegionToSave(
+ const lldb_private::MemoryRegionInfo ®ion) {
m_regions_to_save.Insert(region.GetRange(), /*combine=*/true);
}
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index e0b4d0313d..4b981c89aa 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -6534,8 +6534,7 @@ static bool AddDirtyPages(const MemoryRegionInfo ®ion,
// given region. If the region has dirty page information, only dirty pages
// will be added to \a ranges, else the entire range will be added to \a
// ranges.
-static void AddRegion(const MemoryRegionInfo ®ion,
- bool try_dirty_pages,
+static void AddRegion(const MemoryRegionInfo ®ion, bool try_dirty_pages,
Process::CoreFileMemoryRanges &ranges) {
// Don't add empty ranges.
if (region.GetRange().GetByteSize() == 0)
@@ -6546,7 +6545,9 @@ static void AddRegion(const MemoryRegionInfo ®ion,
if (try_dirty_pages && AddDirtyPages(region, ranges))
return;
- ranges.Append(region.GetRange().GetRangeBase(), region.GetRange().GetByteSize(), CreateCoreFileMemoryRange(region));
+ ranges.Append(region.GetRange().GetRangeBase(),
+ region.GetRange().GetByteSize(),
+ CreateCoreFileMemoryRange(region));
}
static void SaveOffRegionsWithStackPointers(
@@ -6595,8 +6596,8 @@ static void GetCoreFileSaveRangesFull(Process &process,
Process::CoreFileMemoryRanges &ranges,
std::set<addr_t> &stack_ends) {
-// Don't add only dirty pages, add full regions.
-const bool try_dirty_pages = false;
+ // Don't add only dirty pages, add full regions.
+ const bool try_dirty_pages = false;
for (const auto ®ion : regions)
if (stack_ends.count(region.GetRange().GetRangeEnd()) == 0)
AddRegion(region, try_dirty_pages, ranges);
@@ -6652,10 +6653,9 @@ static void GetCoreFileSaveRangesStackOnly(
}
}
-static void GetUserSpecifiedCoreFileSaveRanges(Process &process,
- const MemoryRegionInfos ®ions,
- const SaveCoreOptions &options,
- Process::CoreFileMemoryRanges &ranges) {
+static void GetUserSpecifiedCoreFileSaveRanges(
+ Process &process, const MemoryRegionInfos ®ions,
+ const SaveCoreOptions &options, Process::CoreFileMemoryRanges &ranges) {
const auto &option_ranges = options.GetCoreFileMemoryRanges();
if (option_ranges.IsEmpty())
return;
@@ -6664,7 +6664,8 @@ static void GetUserSpecifiedCoreFileSaveRanges(Process &process,
auto entry = option_ranges.FindEntryThatContains(range.GetRange());
if (entry)
ranges.Append(range.GetRange().GetRangeBase(),
- range.GetRange().GetByteSize(), CreateCoreFileMemoryRange(range));
+ range.GetRange().GetByteSize(),
+ CreateCoreFileMemoryRange(range));
}
}
@@ -6687,7 +6688,8 @@ Status Process::CalculateCoreFileSaveRanges(const SaveCoreOptions &options,
// For fully custom set ups, we don't want to even look at threads if there
// are no threads specified.
if (core_style != lldb::eSaveCoreCustom || options.HasSpecifiedThreads())
- SaveOffRegionsWithStackPointers(*this, options, regions, ranges, stack_ends);
+ SaveOffRegionsWithStackPointers(*this, options, regions, ranges,
+ stack_ends);
switch (core_style) {
case eSaveCoreUnspecified:
``````````
</details>
https://github.com/llvm/llvm-project/pull/105442
More information about the lldb-commits
mailing list