如何在 XCode 中禁用记录动态加载程序事件(dyld)? [英] How to disable Logging Dynamic Loader Events(dyld) in XCode?

查看:36
本文介绍了如何在 XCode 中禁用记录动态加载程序事件(dyld)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的 XCode 控制台充满了 100 条 dyld 日志.以下是一些.

My XCode console is filled with 100s of dyld logs. Below are a few.

_dyld_register_func_for_add_image(0x7fff520d360c)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_is_memory_immutable(0x7fff5127617d, 1)
_dyld_register_for_bulk_image_loads(0x7fff522f9bb3)
_dyld_is_memory_immutable(0x7fff522ddd72, 36)
dlopen_internal(/System/Library/PrivateFrameworks/Alternate/MallocStackLogging.framework/MallocStackLogging, 0x00000008)
  dlopen_internal() failed, error: 'dlopen(/System/Library/PrivateFrameworks/Alternate/MallocStackLogging.framework/MallocStackLogging, 8): image not found'
dlopen_internal(/System/Library/PrivateFrameworks/MallocStackLogging.framework/MallocStackLogging, 0x00000008)
  dlopen_internal(/System/Library/PrivateFrameworks/MallocStackLogging.framework/MallocStackLogging) ==> 0x105571f78
dlsym_internal(0x105571f78, msl_handle_memory_event)
  dlsym_internal(0x105571f78, msl_handle_memory_event) ==> 0x7fff3bfddfa0
dlsym_internal(0x105571f78, msl_stack_logging_locked)
  dlsym_internal(0x105571f78, msl_stack_logging_locked) ==> 0x7fff3bfe3230
dlsym_internal(0x105571f78, msl_fork_prepare)
  dlsym_internal(0x105571f78, msl_fork_prepare) ==> 0x7fff3bfdfd70
dlsym_internal(0x105571f78, msl_fork_child)
  dlsym_internal(0x105571f78, msl_fork_child) ==> 0x7fff3bfdfdc0
dlsym_internal(0x105571f78, msl_fork_parent)
  dlsym_internal(0x105571f78, msl_fork_parent) ==> 0x7fff3bfdfda0
dlsym_internal(0x105571f78, msl_get_frames_for_address)
  dlsym_internal(0x105571f78, msl_get_frames_for_address) ==> 0x7fff3bfe1920
dlsym_internal(0x105571f78, msl_stackid_for_vm_region)
  dlsym_internal(0x105571f78, msl_stackid_for_vm_region) ==> 0x7fff3bfe2510
dlsym_internal(0x105571f78, msl_get_frames_for_stackid)
  dlsym_internal(0x105571f78, msl_get_frames_for_stackid) ==> 0x7fff3bfe2690
dlsym_internal(0x105571f78, msl_uniquing_table_read_stack)
  dlsym_internal(0x105571f78, msl_uniquing_table_read_stack) ==> 0x7fff3bfe2810
dlsym_internal(0x105571f78, msl_copy_msl_lite_hooks)
  dlsym_internal(0x105571f78, msl_copy_msl_lite_hooks) ==> 0x7fff3bfddab0
dlsym_internal(0x105571f78, msl_set_flags_from_environment)
  dlsym_internal(0x105571f78, msl_set_flags_from_environment) ==> 0x7fff3bfdd670
dlsym_internal(0x105571f78, msl_initialize)
  dlsym_internal(0x105571f78, msl_initialize) ==> 0x7fff3bfdd8d0

打印内容或调试时非常困难.如何禁用这些日志?

It is making it very difficult when printing something or when debugging. How to disable these logs?

推荐答案

我是这个论坛的新手,但是..你看看下面的环境变量吗?

I'm too newbie in this forum, but.. did you take a look to the following env variables?

DYLD_PRINT_LIBRARIES:加载图像时记录.

DYLD_PRINT_LIBRARIES: Logs when images are loaded.

DYLD_PRINT_LIBRARIES_POST_LAUNCH:由于 dlopen 调用而加载图像时记录.包含动态库的依赖库.

DYLD_PRINT_LIBRARIES_POST_LAUNCH: Logs when images are loaded as a result of a dlopen call. Includes a dynamic libraries’ dependent libraries.

DYLD_PRINT_APIS:记录导致动态加载器返回符号地址的调用.

DYLD_PRINT_APIS: Logs the invocation that causes the dynamic loader to return the address of a symbol.

DYLD_PRINT_STATISTICS:记录有关应用启动过程的统计信息,例如应用完成启动时加载了多少图像.

DYLD_PRINT_STATISTICS: Logs statistical information on an application’s launch process, such as how many images were loaded, when the application finishes launching.

DYLD_PRINT_INITIALIZERS:记录动态加载器何时调用初始化器和终结器函数.

DYLD_PRINT_INITIALIZERS: Logs when the dynamic loader calls initializer and finalizer functions.

DYLD_PRINT_SEGMENTS:当动态加载器将动态库的一段映射到当前进程的地址空间时记录.

DYLD_PRINT_SEGMENTS: Logs when the dynamic loader maps a segment of a dynamic library to the current process’s address space.

DYLD_PRINT_BINDINGS:当动态加载器将未定义的外部符号与其定义绑定时记录.

DYLD_PRINT_BINDINGS: Logs when the dynamic loader binds an undefined external symbol with its definition.

最好的问候,
大卫

Best Regards,
David

这篇关于如何在 XCode 中禁用记录动态加载程序事件(dyld)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆