如何在lldb终端为Swift程序设置断点?设置后提示无法解析断点怎么办?
问题根因
你编译Swift代码时没有携带调试符号参数,默认生成的二进制程序没有保留源码行号和执行地址的映射关系,lldb无法定位你指定的断点位置,才会抛出对应报错。
修复操作步骤
- 重新编译代码,追加
-g参数生成调试信息:swiftc -g hello.swift - 重新启动lldb调试会话:
lldb hello - 再次执行断点设置命令即可正常命中:
breakpoint set --file hello.swift --line 10
额外提示
你提供的代码第10行为for循环的起始行,断点设置成功后执行run命令启动程序,会在首次进入循环前停在对应位置。如果需要调试answer函数内部逻辑,也可以直接用函数名设置断点,不需要手动核对行号:breakpoint set --name answer
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

