小编Don*_*bal的帖子

LLDB摘要字符串-如何使它们在Xcode会话上持久化

例如,我在调试Xcode 5中的程序时定义了lldb摘要字符串。

    type summary add -s "${var._operation} ${var._text}" DMDiff 
Run Code Online (Sandbox Code Playgroud)

这很好。但是,当我关闭Xcode,重新启动它并继续调试会话时,我的摘要字符串不见了。事先保存项目没有任何区别。

我的问题是:使这些摘要字符串从Xcode会话到Xcode会话持续存在的最佳方法是什么,即将它们保存在项目或调试信息中?

解决方法:我确实发现我可以在〜/ .lldbinit文件中定义摘要字符串,以使它们持久化,并且可以正常工作。但是,这似乎有点麻烦,而且是全球性的,而不是基于每个项目。我可能希望不同项目中的数据类型使用不同的摘要字符串。

debugging macos xcode objective-c lldb

5
推荐指数
1
解决办法
383
查看次数

Xcode/lldb:在进入程序时停止没有符号的应用程序

在 lldb 命令行中,我可以使用 --stop-at-entry 选项通过编写以下命令来停止执行程序(没有调试符号):

(lldb) target create /bin/ls
Current executable set to '/bin/ls' (x86_64).
(lldb) process launch --stop-at-entry
Process 22250 launched: '/bin/ls' (x86_64)
Process 22250 stopped
* thread #1: tid = 0xc46fa, 0x00007fff5fc01028 dyld`_dyld_start, stop reason = signal SIGSTOP
frame #0: 0x00007fff5fc01028 dyld`_dyld_start
dyld`_dyld_start:
-> 0x7fff5fc01028:  popq   %rdi
...
Run Code Online (Sandbox Code Playgroud)

但是,我更喜欢在 Xcode (5) IDE 中为 lldb 工作。那里可能有同样的事情吗?我可以通过菜单调试->附加到进程->按进程标识符或名称成功附加到进程。如果您在那里输入应用程序名称,lldb 将在启动后立即接管该过程。但是,我认为没有办法在程序启动时停止执行,即相当于 --start-at-entry。我也没有看到在 IDE 的 lldb 窗口中输入相应命令的方法,因为应用程序尚未启动。

这在IDE中可能吗?

xcode lldb

3
推荐指数
1
解决办法
2332
查看次数

标签 统计

lldb ×2

xcode ×2

debugging ×1

macos ×1

objective-c ×1