gpt4 book ai didi

objective-c - 在运行时打印 Objective-C 方法实现

转载 作者:太空狗 更新时间:2023-10-30 03:33:10 26 4
gpt4 key购买 nike

是否可以在运行时将某个类方法的实现打印/记录到控制台屏幕?我假设日志将在汇编中,这对我来说很好。

最佳答案

您可以在行首添加一个断点,逐行执行并在调试器中调用“反汇编”:

例如,我的一行代码(替换了私有(private)信息)产生了这个:

-(void) method
{
__weak typeof(self) selfReference = self; // <-- This call was disassembled.
...

Project`-[Class method] + 32 at Class.m:176:
-> 0x9c5cc: ldr r1, [sp, #304]
0x9c5ce: add r0, sp, #296
0x9c5d0: blx 0x33abec ; symbol stub for: objc_initWeak
0x9c5d4: ldr r1, [sp, #304]

编辑

我无法验证它是否正常工作,因为我不太擅长汇编,但您可以使用调试器(我正在使用的 Clang)来调用

disassemble -n methodName

这声称

Disassemble entire contents of the given function name.

注意:我在用于测试的方法开始时使用断点来执行此操作

尝试创建一个符号断点以在有问题的方法处停止:

enter image description here

关于objective-c - 在运行时打印 Objective-C 方法实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18468691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com