编译了最新的lldb 3.7,连上debugserver后image list是空的

用gikdbg的lldb.exe连上去就正常

是和debugserver版本不匹配,还是gikdbg的dll做了改动?

你是用的什么操作系统?

Win10+iOS 7.0.6

那我就不知道了,你搜搜看吧,国外估计也有人在windows下编译lldb了

gikdbg的liblldb.dll是编译好就没有这个问题的吗?

折腾了一天, 终于搞定了, 问题的关键在于, 在 windows 下编译时没有把 mach-o 插件编译进去, 导致 Module::GetMemoryObjectFile 在解析 mach-o 的时候, 找到不对应的插件

llvm\tools\lldb\source\Plugins\ObjectFile\Mach-O\ObjectFileMachO.cpp

然后把初始化的代码再改改

llvm\tools\lldb\source\Initialization\SystemInitializerCommon.cpp

#if defined(__APPLE__)
    PlatformDarwinKernel::Initialize();
#endif

    DynamicLoaderDarwinKernel::Initialize();
    ObjectFileMachO::Initialize();

#if defined(__APPLE__)
    PlatformDarwinKernel::Terminate();
#endif

    DynamicLoaderDarwinKernel::Terminate();
    ObjectFileMachO::Terminate();

最后再加上这两个定义

#define KERN_SUCCESS            0
#define KERN_INVALID_ARGUMENT       4

就差不多了

剩下的一些编译上的细节就不提了, 问题不大

1 个赞