如何从终端使用LLDB

5

通常我使用Xcode中的LLDB,但在某些情况下,我更愿意使用终端。 我尝试输入“xcrun lldb”,然后设置lldb模式,但如何设置正确的目标?


2
你查看了苹果文档吗?第一节就展示了如何指定要调试的程序:https://developer.apple.com/library/mac/documentation/IDEs/Conceptual/gdb_to_lldb_transition_guide/document/lldb-terminal-workflow-tutorial.html#//apple_ref/doc/uid/TP40012917-CH4-SW1 - Robotic Cat
2个回答

3

iOS模拟器

$ lldb
> process attach -n "AppName" -w

在iOS模拟器中启动应用程序(可以使用ioslib从命令行执行)。一旦发现应用程序进程,LLDB会连接。

iOS设备

使用ios-deployios-deploy -d -W -b path/to/foo.app)。它将启动并连接一个LLDB会话。

OSX应用程序

在LLDB中使用process attach -n "AppName"可能有效(未经验证)。


0

Apple docs:中获取

指定要调试的程序

首先,您需要设置要调试的程序。与GDB一样,您可以启动LLDB并使用命令行指定要调试的文件。输入:

$ lldb /Projects/Sketch/build/Debug/Sketch.app 当前可执行文件设置为'/Projects/Sketch/build/Debug/Sketch.app'(x86_64)。 或者,在运行后,您可以使用file命令指定要调试的可执行文件:

$ lldb (lldb) file /Projects/Sketch/build/Debug/Sketch.app 当前可执行文件设置为'/Projects/Sketch/build/Debug/Sketch.app'(x86_64)。

一个简单的谷歌搜索就能找到这个。


谢谢回复,是的,我看了这个纪录片,但问题是,我不明白这个“.app”是什么意思?当我使用“.xcodeproj”时,我收到“是一个目录”的消息……我做错了什么? - MCMatan
".app" 是文件名的扩展。它通常是隐藏的,但在 Finder 首选项:高级中有一个选项 "显示所有文件名扩展名",勾选该选项,您将看到文件名扩展名。为什么要使用 ".xcodeproj"?你需要使用完整路径到应用程序。您将需要在文件系统中找到该应用程序。 - zaph
作为我的一个项目的示例,派生数据位于:“〜/ Library / Developer / Xcode / DerivedData / Comics-dihbvzzymyqdhndidgvkglfprqbb”。该应用程序在该目录中的“Build / Products / Debug-iphoneos / Comics.app”中。完整路径为:“/ Users / dan / Library / Developer / Xcode / DerivedData / Comics-dihbvzzymyqdhndidgvkglfprqbb / Build / Products / Debug-iphoneos / Comics.app”,您需要指定实际应用程序的完整路径。 - zaph
主要使用LLDB的方法仅限于OSX应用程序。我不确定如何直接在LLDB中运行iOS应用程序,因为它们在模拟器中运行。 - zaph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接