lldbinit中的进程句柄

问题描述 投票:3回答:2

我想将以下命令初始化我的.lldbinit。

process handle SIGPROF -n false -p true -s false

问题是lldb在启动时还没有进程,将不会运行此命令。

错误:在命令#1之后的命令中止读取:'进程句柄SIGPROF -n false -p true -s false'失败,并显示错误:无当前目标;在您拥有有效目标之前,无法处理信号过程。

我如何告诉lldb每当有进程时就应用此命令?

linux signals lldb
2个回答
1
投票

一种解决方法是在加载调试文件后,将要在lldb中运行的命令集放入文件中,然后运行:

$ lldb -s <command file> <FileToBeDebugged>

然后,如果您喜欢这样并经常使用它,则可以使shell别名的部分最大为。

如果使用Xcode,一个常见的技巧是在项目的main处设置一个断点,将要运行的命令放在此处,然后使其“自动继续”。


2
投票

截至目前,我认为您不能做到

允许这需要以下两项操作之一:

  • LLDB记录您的首选项并将其应用于即将出现的流程的模型(仅第一个?全部?)
  • 一个模型,其中LLDB对诸如进程之类的事情已经显示了“事件挂钩”,一个进程已经消失了,您可以对该钩子进行脚本化(通过LLDB命令或Python)以执行某些动作,包括设置信号处理。]
© www.soinside.com 2019 - 2024. All rights reserved.