在OSX \ iOS平台上,我们如何获取dyld日志信息?

时间:2016-09-10 09:24:48

标签: ios debugging jailbreak dyld

在查看dyld的源代码时(我的版本是360.18), 我发现了很多日志代码,例如

    dyld::log("dyld: re-using existing shared cache mapping\n");
    dyld::log("dyld: shared cached region cannot be mapped at address %p with size 0x%08lX\n",mmapAddress, size);

日志功能定义如下:

void vlog(const char* format, va_list list)
{
    if ( !sLogToFile && useSyslog() ) 
        socket_syslogv(LOG_ERR, format, list);
    else {
        _simple_vdprintf(sLogfile, format, list);
    }
}

void log(const char* format, ...)
{
    va_list list;
    va_start(list, format);
    vlog(format, list);
    va_end(list);
}

正如我们所看到的,日志调用vlog.And如果将环境var“DYLD_PRINT_TO_FILE”设置为文件名,var“sLogToFile”将被设置为文件描述符。     现在的问题是我无法在GDB和syslog中看到日志(在iOS上使用idevicesyslog)。我在“DYLD_PRINT_TO_FILE”中设置的文件。该文件将被创建,但它始终为空。 如何解决问题以获取日志信息~~~~~~~~~

0 个答案:

没有答案