如何在LLDB中的应用程序开始时放置断点



每当我尝试使用LLDB调试应用程序时,我似乎都无法在应用程序的入口点设置断点。

我一直在运行br set -n _main,这设置了一个断点,当运行br list时可以看到,但这些断点永远不会被击中。

如何让LLDB在可执行文件的入口点设置断点?

如果您使用启动流程

(lldb) process launch --stop-at-entry -- <Process arguments>

这将在加载程序二进制文件时停止,但在运行任何代码之前。请注意,它包括任何dyld代码——因此没有加载共享库,只有主可执行文件——或者任何系统初始化程序。因此,在这一点上,你通常无法安全地做太多事情。如果你想在第一次重要的库加载时停止,你可以这样做:

(lldb) target.process.stop-on-sharedlibrary-events 1
(lldb) continue

这将运行到第一个主要加载事件(如果你保持打开状态,则会在所有其他事件上停止。(

最新更新