标签: lldb

如何在Xcode 4中进行远程调试?

有没有办法在Xcode 4中进行远程调试?此问题的先前答案是针对Xcode 3和Apple删除了Xcode指南中的特定调试(我假设)涵盖了远程调试.

对于踢球,我一直在这样做lldb,但如果有一种方法,gdb那就是伟大的.到目前为止,我已经能够像这样在远程计算机上启动调试服务器

/ usr/bin/ssh -l $ {REMOTE_USER} -f $ {REMOTE_HOST}"/ Developer/usr/bin/debugserver localhost:12345"

然后我可以lldb从终端手动登录并进行调试.我希望能够做的是至少lldb在Xcode中启动一个裸会话然后手动启动process connect connect://hostname:port.

debugging xcode lldb

32
推荐指数
1
解决办法
6160
查看次数

错误:在'UIView*'类型的对象上找不到属性'frame'

我正在调试我的代码并尝试使用以下方法计算出视图的大小:

p view.frame.size.height
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

错误:在'UIView*'类型的对象上找不到属性'frame'错误:1错误解析表达式

你们中的任何人都知道为什么或如何调试我的视图大小?

view ios lldb

32
推荐指数
3
解决办法
2万
查看次数

如何在Objective-C中使用符号断点获取参数

我有一个看起来像这样的断点

-[UITableViewCell setSelected:]
Run Code Online (Sandbox Code Playgroud)

它工作,但我无法弄清楚如何获得传递的值.

我曾尝试-[UITableViewCell setSelected:(BOOL)what]-[UITableViewCell setSelected:what]不工作在所有.

如何访问参数?

如果这不起作用,我将不得不做一个DebugUITableViewCell公正的事情,看看发生了什么,这是一个麻烦,触及了很多代码.

debugging xcode objective-c lldb

31
推荐指数
3
解决办法
8048
查看次数

LLDB相当于GDB的"info malloc-history <address>"命令?

我试图在iOS中解决"发送到解除分配的实例的消息"错误.

xcode ios lldb

30
推荐指数
2
解决办法
1万
查看次数

Xcode LLDB打印语句失败 - NSUndoManager

我有一个断点设置,想要打印我的UITextField的超级视图.我键入po myTextField.superview但我收到以下错误:

error: instance method 'undoManager' has incompatible result types in different translation units ('id' vs. 'NSUndoManager *')
note: instance method 'undoManager' also declared here
error: 1 errors parsing expression
Run Code Online (Sandbox Code Playgroud)

这意味着什么,我如何打印我的超级视图?我找到了一个链接,在代码中提供了一个简洁的解决方法:http://openradar.io/15890965 ,但我想要一个更好的解决方案.

xcode nsundomanager ios lldb

29
推荐指数
1
解决办法
2304
查看次数

无法调试Objective-C app中嵌入的Swift模块/框架

替代标题(以帮助搜索)

  • 无法调试链接到Xcode 8中的Objective-C应用程序的Swift 2.3框架
  • error in auto-import: failed to get module 'XYZ' from AST context Xcode 8
  • Xcode 8无法调试Swift框架
  • warning: Swift error in module <XYZ>
  • 解决方法; Xcode Debugger不能只调试用Objective-C编写的应用程序,而只能用针对用Swift编写的框架进行链接.(28312362)

我有一个用Objective-C编写的应用程序,它链接了一些用Swift 2.x编写的模块(框架).

一切(调试等)在工作正常,但是当转移到并更新模块以使用我无法调试模块.

LLDB报告了以下错误:

warning: Swift error in module XYZ.
Debug info from this module will be unavailable in the debugger.

error: in auto-import:
failed to get module 'ABC' from AST context
Run Code Online (Sandbox Code Playgroud)

如果我将模块链接到Swift 2.3内置的应用程序,则不会发生这种情况.

xcode lldb swift3 xcode8 swift2.3

29
推荐指数
4
解决办法
1万
查看次数

lldb:无法实现:无法获取变量的值

我用这个命令行编译了一个cpp文件: g++ -g test.cpp

它在第28行引发异常.我想通过检查lldb中的变量来调查原因.我在第28行设置了一个断点并a.out在lldb中运行.

(lldb) n
Process 84233 stopped
* thread #1: tid = 0xa44b86, 0x00000001000017fb a.out`say(s=<unavailable>) + 987 at so.cpp:28, queue = 'com.apple.main-thread', stop reason = step over
    frame #0: 0x00000001000017fb a.out`say(s=<unavailable>) + 987 at so.cpp:28
   25       }
   26       else{
   27           s.insert(0, to_string(sz));
-> 28           s.erase(2, sz-1);
   29       }
   30       return s;
   31   }
(lldb) po s
error: Couldn't materialize: couldn't get the value of variable s: variable not available
Errored out in Execute, couldn't PrepareToExecuteJITExpression …
Run Code Online (Sandbox Code Playgroud)

c++ lldb osx-mavericks

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

使用空的 LLDB 目标会导致从远程设备读取内存缓慢

我正在使用 Xcode 12,但收到如下警告:

警告:在路径 '/Users/ABC/Library/Developer/Xcode/DerivedData/demowatchapp-blfzfuqxehfteaaofqpdlfuurtdr/Build/Products/Debug-watchsimulator/watchapp.app' 处创建 LLDB 目标时出错 - 使用空的 LLDB 目标会导致内存读取缓慢从远程设备。

我已经检查过 xcode 6 中有解决方案可以将架构更改为 arm64。我也在构建设置中检查了它,它被称为标准架构。我已经读过它,因为新的 xode 苹果本身使它成为标准架构,即 arm64、armv7。所以现在不确定是什么问题。我还检查了我的 iOS 应用程序、手表应用程序和扩展程序是否都具有相同的架构。

在此处输入图片说明

我还检查了以下对我不起作用的链接: Xcode - 创建 LLDB 目标时出错

ios lldb swift watchkit xcode12

28
推荐指数
1
解决办法
5293
查看次数

如何调试EXC_BAD_ACCESS错误

我收到了一个错误

EXC_BAD_ACCESS代码= 2 at0xb0987654

我想知道如何打印出0xb0987654的值?

xcode objective-c lldb

27
推荐指数
1
解决办法
2万
查看次数

Swift WHOLE_MODULE_OPTIMIZATION可以缩短编译时间,但会导致lldb/Xcode崩溃

TL; DR

之前

SWIFT_WHOLE_MODULE_OPTIMIZATION = NO

  • 调试编译需要10-15分钟
  • 发布编译需要25分钟以上
  • po 在LLDB中运作良好

SWIFT_WHOLE_MODULE_OPTIMIZATION = YES

  • 调试编译需要1-2分钟
  • 发布编译大约需要8分钟
  • po 总是导致Xcode崩溃

知道为什么基于这个信息的可怕编译时间,和/或为什么Xcode可能会崩溃?


DEETS

我正在开发一个大型的100%Swift项目(Objective-C中有第三方库,但我们所有的代码都是Swift).我们编译时间非常糟糕,编译调试配置通常需要大约10-15分钟,编译发布配置需要30多分钟.

由于可怕的编译时间,这个项目很难处理.我一直在寻找改善这一点的方法,特别是通过构建设置,几个月没有运气.我忽略了一件事SWIFT_WHOLE_MODULE_OPTIMIZATION,特别是因为任何提及它都会增加项目的编译时间.

所以前几天我们启用SWIFT_WHOLE_MODULE_OPTIMIZATION并且看到我们的编译时间提高了10倍.

问题是,现在每当我们调试项目并尝试使用po myObjectXcode 在lldb中打印对象时会立即崩溃.以下是崩溃日志中的一些信息:

进程:Xcode [5860]
路径:/Applications/Xcode.app/Contents/MacOS/Xcode
标识符:com.apple.dt.Xcode
版本:6.4(7720)
Build Info:IDEFrameworks-7720000000000000~8
App Item ID:497799835
App External ID:812725084
代码类型:X86-64(Native)
父进程:??? [1]
负责人:Xcode [5860]

日期/时间:2015-08-05 15:53:08.265 -0600
操作系统版本:Mac OS X 10.11(15A235d)
报告版本:11

自启动以来的时间清醒:13000秒

坠毁的线程:20

异常类型:EXC_BAD_ACCESS(SIGSEGV)
异常代码:KERN_INVALID_ADDRESS位于0x000000000000008f
异常注意:EXC_CORPSE_NOTIFY

VM区域接近0x8f: - > __TEXT 000000010ef62000-000000010ef63000 [4K] rx/rwx SM = COW /Applications/Xcode.app/Contents/MacOS/Xcode

特定于应用程序的信息:
ProductBuildVersion:6E35b

这是崩溃线程上的堆栈跟踪:

Thread 20 …
Run Code Online (Sandbox Code Playgroud)

crash xcode ios lldb swift

27
推荐指数
2
解决办法
7308
查看次数