我对工作环境有一个小小的疑问。我正在分析LLDB中的二进制文件,有时,我需要在代码中进行一些更改并重新编译它。然后将新的二进制文件重新导入LLDB以进行进一步分析。
当前,我正在做这个
- 在LLDB内部,使用
shell <shell-command>
编译代码 - 使用
file <binary>
重新加载二进制文件
但是这样,我失去了断点。那么,有什么方法可以保存断点吗?
几件事
首先,如果您在用于当前lldb目标的相同路径上重新编译二进制文件,则不需要创建新目标。lldb会注意到文件已经改变,当你做run
读取新的二进制&调试信息,重置断点等
但是,如果有其他原因需要创建新目标,lldb有breakpoint write
和breakpoint read
命令,它们允许您将断点序列化到文件中,然后将它们读入新目标。