- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在我的 iOS 应用程序中遇到了一个错误,并且 Stack Trace 并不是特别有启发性。当我在 (lldb) 调试器控制台上运行命令 bt 时,它吐出一个完整的回溯跟踪,如下所示:
frame #0: 0x39de23e4 libsystem_c.dylib`__vfprintf + 28
frame #1: 0x39df82c6 libsystem_c.dylib`__v2printf + 374
frame #2: 0x39da723c libsystem_c.dylib`_vsnprintf + 348
frame #3: 0x39da7b2c libsystem_c.dylib`vsnprintf_l + 32
frame #4: 0x39da7b06 libsystem_c.dylib`snprintf_l + 22
frame #5: 0x2f0a19d0 CoreFoundation`__CFStringAppendFormatCore + 8464
frame #6: 0x2f010610 CoreFoundation`_CFStringCreateWithFormatAndArgumentsAux + 76
frame #7: 0x2f9e8162 Foundation`-[NSPlaceholderString initWithFormat:locale:arguments:] + 130
frame #8: 0x2f9e8068 Foundation`+[NSString stringWithFormat:] + 60
* frame #9: 0x002ce4e0 myApp`PFMD5HashFromData(data=0x18109b60) + 412 at PFHash.m:63
frame #10: 0x002d4e42 myApp`-[PFJSONCacheItem initWithObject:](self=0x18109890, _cmd=0x31facc39, object=0x18138b90) + 286 at PFInternalUtils.m:286
frame #11: 0x002d500a myApp`+[PFJSONCacheItem cacheFromObject:](self=0x006e00c8, _cmd=0x0058acb3, object=0x18138b90) + 74 at PFInternalUtils.m:300
frame #12: 0x002e56d8 myApp`-[PFObject(self=0x18151620, _cmd=0x0058bdd1, object=0x18138b90, key=0x0064a2e8) checkForChangesToMutableContainer:forKey:]
是否可以使用 LLDB 调试控制台在特定内存地址查看人类可读的数据?
例如,值显示如下:
(self=0x18109890, _cmd=0x31facc39, object=0x18138b90)
我能否打印出这些值以便查看这些内存地址中的数据?
例如:如果我在内存中有以下值:
// NSString @ memory address: 0x123456
NSString *example = @"exampleString";
我可以使用什么 LLDB 命令来查看内存地址 0x123456
处的 exampleString
的人类可读值?
根据其他人的建议(感谢 Jim Ingham )和各种互联网搜索,我尝试了以下命令:
(lldb) expr *((MyObjectType *) 0x123456)
(lldb) 框架变量 *object
内存读取-s1 -fu -c10000 0x123456 --force
和其他一些,但所有这些给我的是更多的内存地址,或者是人类不可读的内存转储。我希望做的是读取或打印出本应流经我的程序的实际值,以查看有关可能出现问题的一些线索。
我终于能够根据到目前为止在这篇文章中收到的建议打印这些值。我得到更多神秘内存地址的原因是因为我试图评估预编译的二进制文件。当我针对自己的项目代码运行建议的命令时,一切正常。
最佳答案
当然。如果您想要原始内存转储,请尝试使用 memory read
命令。如果您有对象类型的调试信息,您可以将它传递给 -t
选项以内存读取
(这对对象数组更有用。)
或者你可以使用表达式解析器,像这样:
(lldb) expr ((MyObjectType *) 0x18138b90)
如果您在带有调试信息的框架中,您还可以使用框架变量
来查看局部变量和参数。例如:
(lldb) frame variable *object
应该向您显示对象
的内容。
关于ios - 用于查看特定内存地址处人类可读值的 LLDB 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32555447/
有没有一种方法(程序、库)可以大致了解文档是用哪种语言编写的? 我有一堆混合语言的文本文档(~500K),需要导入支持 i18n 的 CMS (Drupal).. 我不需要完美的匹配,只需要一些猜测。
Closed. This question needs details or clarity。它当前不接受答案。
使用 UTF-8 编码。 (Multiple languages in one HTML page)。 跨不同浏览器(包括 iPad 上的 Safari)在单个网页上正确显示多种人类语言的最佳做法是什
我有一个完全可用的代码,它是为 Windows 编写的,是用 Visual Studio 构建的。 我想做的是为该软件添加另一种语言。我的想法是在窗口角落放置两个标志(一个英语和一个德语),并在用户点
我刚刚得到一个脚本,我想对其进行一些更改,我正在寻找某人为我开发一份自由职业,以使我将提供的加载字符串可读以进行编辑。 Lua代码是这样的: ------------------------- ENG
有没有不是简单逐字翻译的语言翻译项目?一个具有先进算法/设计的? 目前主流和流行的翻译软件,例如谷歌翻译,似乎是查找一个词或一组连续的词,然后将其直接翻译成不知何故确定为最佳匹配的内容。但是因为它不是
基于 Twilio 的人类/非人类检测 - 我正在尝试通过如下所示的代码来检测调用是否被人类或机器人接听 HashMap params = new HashMap(); params.put("Fro
这是目前(不确定)我能想到的处理多语言网站的最佳方式,它不涉及 gettext、zend_translate 或任何 php 插件或框架。 我认为它非常简单:我有 3 种语言,我将它们的“内容”写在不
我是一名优秀的程序员,十分优秀!