gpt4 book ai didi

ios - 这些十六进制数字在 LLDB 输出中究竟代表什么?

转载 作者:行者123 更新时间:2023-11-29 10:57:56 28 4
gpt4 key购买 nike

抛出异常后,在使用 LLDB 时,我在 Xcode 输出窗口中收到此类消息:

*** First throw call stack:
(**0x1ea3012 0x1bb0e7e 0x1f2e4bd 0x1e92bbc**

我的问题是,这些十六进制数到底代表什么?那是调用堆栈上堆栈帧的地址吗?我真的在这里寻找正确的术语。

最佳答案

这不是 lldb 的输出,它是您的程序(或您进行的 UIKit/AppKit/Foundation 调用)的输出。那些看起来像是 32 位进程中的代码地址——我猜是某些东西试图向您显示抛出异常时的调用堆栈(回溯)。您可以使用 image lookup(“im loo”是最短的唯一形式)lldb 命令找到这些函数。例如,您自己的应用程序中的功能可能看起来像

(lldb) im loo -a 0x0009b92a
Address: opengltest[0x0000b92a] (opengltest.__TEXT.__text + 514)
Summary: opengltest`main + 514 at main.m:64

或者系统框架中的函数可能看起来像

(lldb) im loo -a 0x310073d4
Address: UIKit[0x2fe343d4] (UIKit.__TEXT.__text + 299972)
Summary: UIKit`UIApplicationMain + 1136

您还可以将 -v (--verbose) 选项添加到 image lookup - 如果这是一个带有调试信息的帧 (你自己的应用程序中的一个框架),lldb 可以打印出很多关于你的函数的附加信息。

关于ios - 这些十六进制数字在 LLDB 输出中究竟代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17373883/

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