如何在lldb中排除模块参与符号解析?是否有相关设置?
关于LLDB排除模块符号解析的问题解答
1. 如何将指定模块排除在LLDB的符号解析范围之外?
你可以通过两种方式实现:
- 临时单/多模块排除:执行
target modules skip <模块名>命令,比如要排除libfoo.dylib,输入:
多模块直接追加:target modules skip libfoo.dylibtarget modules skip libfoo.dylib libbar.so - 正则批量排除:针对命名规律的模块(比如所有
libsystem开头的系统库),用正则匹配:target modules skip ^libsystem
2. 是否存在对应的LLDB设置,可将已加载模块排除在初始符号解析流程之外?
有的,LLDB提供target.skip-modules配置项,能让LLDB在启动或加载模块时自动跳过指定模块的符号解析:
- 设置单个模块:
settings set target.skip-modules libfoo.dylib - 设置多个模块(逗号分隔):
settings set target.skip-modules libfoo.dylib,libbar.so - 正则批量设置:
settings set target.skip-modules ^libsystem.*
该设置会持久生效,直到你修改或重置。如果需要取消排除,可执行target modules unskip <模块名>,或重置设置:
settings clear target.skip-modules
内容的提问来源于stack exchange,提问作者Hofi
相关产品推荐
相关产品推荐

