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