简体   繁体   中英

How to disable Logging Dynamic Loader Events(dyld) in XCode?

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: Logs when images are loaded.

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: Logs the invocation that causes the dynamic loader to return the address of a symbol.

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: Logs when the dynamic loader calls initializer and finalizer functions.

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: Logs when the dynamic loader binds an undefined external symbol with its definition.

Best Regards,
David

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM