[Lldb-commits] [lldb] [lldb] add stop-at-user-entry option to process launch (PR #67019)
Greg Clayton via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 26 14:23:16 PDT 2023
=?utf-8?q?José?= L. Junior <jljuniorpb at gmail.com>,
=?utf-8?q?José?= L. Junior <jljuniorpb at gmail.com>,
=?utf-8?q?José?= L. Junior <jljuniorpb at gmail.com>,
=?utf-8?q?José?= L. Junior <jljuniorpb at gmail.com>,
=?utf-8?q?José?= L. Junior <jljuniorpb at gmail.com>
Message-ID:
In-Reply-To: <llvm/llvm-project/pull/67019/lldb at github.com>
================
@@ -38,7 +39,36 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
case 's': // Stop at program entry point
launch_info.GetFlags().Set(eLaunchFlagStopAtEntry);
break;
-
+ case 'm': // Stop at user entry point
+ {
+ TargetSP target_sp =
+ execution_context ? execution_context->GetTargetSP() : TargetSP();
+ ModuleSP main_module_sp = target_sp->GetExecutableModule();
+ FileSpecList shared_lib_filter;
+ shared_lib_filter.Append(main_module_sp->GetFileSpec());
+ std::vector<std::string> entryPointNames;
----------------
clayborg wrote:
Do we end up with many duplicate entries in the std::vector after iterating over all languages? If so you can use a `std::set<std::string>` so we can dedupe the names, then before you set the breakpoint convert the `std::set<std::string>` into a `std::vector<string>` with:
```
std::vector<std::string> entryPointNames(entryPointNameSet.begin(), entryPointNameSet.end());
```
https://github.com/llvm/llvm-project/pull/67019
More information about the lldb-commits
mailing list