[Lldb-commits] [lldb] Control the "step out through thunk" logic explicitly when pushing thread plans (PR #129301)

via lldb-commits lldb-commits at lists.llvm.org
Fri Feb 28 12:30:38 PST 2025


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 56cc9299b78042575422229edb4a7ba15999cbb5 a26c5596ac599f1b51cffebd658f38233899998e --extensions cpp,h -- lldb/include/lldb/Target/ThreadPlanShouldStopHere.h lldb/source/Target/ThreadPlanShouldStopHere.cpp lldb/source/Target/ThreadPlanStepInRange.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/lldb/source/Target/ThreadPlanShouldStopHere.cpp b/lldb/source/Target/ThreadPlanShouldStopHere.cpp
index be6bd981c7..d2cca49987 100644
--- a/lldb/source/Target/ThreadPlanShouldStopHere.cpp
+++ b/lldb/source/Target/ThreadPlanShouldStopHere.cpp
@@ -84,11 +84,12 @@ bool ThreadPlanShouldStopHere::DefaultShouldStopHereCallback(
     if (Symbol *symbol = frame->GetSymbolContext(eSymbolContextSymbol).symbol) {
       ProcessSP process_sp(current_plan->GetThread().GetProcess());
       for (auto *runtime : process_sp->GetLanguageRuntimes()) {
-        if (runtime->IsSymbolARuntimeThunk(*symbol)
-             && flags.Test(ThreadPlanShouldStopHere::eStepOutPastThunks)) {
-         LLDB_LOGF(log, "Stepping out past a language thunk %s for: %s",
-                   frame->GetFunctionName(),
-                   Language::GetNameForLanguageType(runtime->GetLanguageType()));
+        if (runtime->IsSymbolARuntimeThunk(*symbol) &&
+            flags.Test(ThreadPlanShouldStopHere::eStepOutPastThunks)) {
+          LLDB_LOGF(
+              log, "Stepping out past a language thunk %s for: %s",
+              frame->GetFunctionName(),
+              Language::GetNameForLanguageType(runtime->GetLanguageType()));
           should_stop_here = false;
           break;
         }
@@ -136,11 +137,12 @@ ThreadPlanSP ThreadPlanShouldStopHere::DefaultStepFromHereCallback(
       // because it's marked line 0.
       bool is_thunk = false;
       for (auto *runtime : process_sp->GetLanguageRuntimes()) {
-        if (runtime->IsSymbolARuntimeThunk(*sc.symbol)
-             && flags.Test(ThreadPlanShouldStopHere::eStepOutPastThunks)) {
-          LLDB_LOGF(log, "Stepping out past a language thunk %s for: %s",
-                   frame->GetFunctionName(),
-                   Language::GetNameForLanguageType(runtime->GetLanguageType()));
+        if (runtime->IsSymbolARuntimeThunk(*sc.symbol) &&
+            flags.Test(ThreadPlanShouldStopHere::eStepOutPastThunks)) {
+          LLDB_LOGF(
+              log, "Stepping out past a language thunk %s for: %s",
+              frame->GetFunctionName(),
+              Language::GetNameForLanguageType(runtime->GetLanguageType()));
           is_thunk = true;
           break;
         }
diff --git a/lldb/source/Target/ThreadPlanStepInRange.cpp b/lldb/source/Target/ThreadPlanStepInRange.cpp
index 3affeae1ee..8a2417e9da 100644
--- a/lldb/source/Target/ThreadPlanStepInRange.cpp
+++ b/lldb/source/Target/ThreadPlanStepInRange.cpp
@@ -27,7 +27,7 @@ using namespace lldb;
 using namespace lldb_private;
 
 uint32_t ThreadPlanStepInRange::s_default_flag_values =
-    ThreadPlanShouldStopHere::eStepInAvoidNoDebug | 
+    ThreadPlanShouldStopHere::eStepInAvoidNoDebug |
     ThreadPlanShouldStopHere::eStepOutPastThunks;
 
 // ThreadPlanStepInRange: Step through a stack range, either stepping over or

``````````

</details>


https://github.com/llvm/llvm-project/pull/129301


More information about the lldb-commits mailing list