[Lldb-commits] [lldb] [lldb] add stop-at-main option to process launch (PR #67019)

José Lira Junior via lldb-commits lldb-commits at lists.llvm.org
Tue Sep 26 07:29:34 PDT 2023


================
@@ -38,7 +38,18 @@ Status CommandOptionsProcessLaunch::SetOptionValue(
   case 's': // Stop at program entry point
     launch_info.GetFlags().Set(eLaunchFlagStopAtEntry);
     break;
-
+  case 'm': // Stop at main function
+  {
+    TargetSP target_sp =
+        execution_context ? execution_context->GetTargetSP() : TargetSP();
+    BreakpointSP bp_sp = target_sp->CreateBreakpoint(
+        nullptr, nullptr, "main", eFunctionNameTypeAuto, eLanguageTypeUnknown,
----------------
junior-jl wrote:

> We should add a new API to the Language plugin: Language::GetUserEntrypointName() and then this code should iterate over all the supported languages building up a unique list of entry point names using this API. At present there's going to be one: "main" repeated many times but I think Walter promised us another one soon...

About this, Walter had proposed the following: "I'd suggest adding a virtual method GetMainSymbol to the Language.h interface, which could be implemented by each language plugin.". I guess it's a good approach. What are your thoughts?

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


More information about the lldb-commits mailing list