cocoa - 我可以在 Cocoa 框架代码中设置断点吗?

标签 cocoa xcode debugging macos breakpoints

我应该能够在 Cocoa 框架本身内部设置断点吗?

我在 Mac OS X 应用程序中发现了各种崩溃,有时是随机的。以下是 Xcode 调用堆栈示例的一部分:

0  - 0x98ed0e20 in __CFRunLoopRun  
1  - 0x98ece464 in CFRunLoopRunSpecific  
2  - 0x98ece291 in CFRunLoopRunInMode  
3  - 0x96a90004 in RunCurrentEventLoopInMode  
4  - 0x96a8fdbb in ReceiveNextEventCommon  
5  - 0x96a8fc40 in BlockUntilNextEventMatchingListInMode  
6  - 0x925b078d in _DPSNextEvent  
7  - 0x925affce in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  
8  - 0x92572247 in -[NSApplication run]  
9  - 0x021f009c in QEventDispatcherMac::processEvents at qeventdispatcher_mac.mm:591  
10 - 0x01e47742 in QEventLoop::processEvents at qeventloop.cpp:149  
11 - 0x01e4799e in QEventLoop::exec at qeventloop.cpp:201  
12 - 0x01e49a33 in QCoreApplication::exec at qcoreapplication.cpp:1003  
13 - 0x02254c54 in QApplication::exec at qapplication.cpp:3581  

当我单击第 0 - 8 行时,Xcode 显示反汇编。

我已经更改了 Xcode 项目,以便在加载框架时使用 _debug 后缀。这允许我单步执行第 9 - 13 行中的 Qt 代码,但第 8 行在启动时调用,此后随时可能发生崩溃。

如果我无法设置断点,是否有任何工具可以帮助我调试此类问题?

提前致谢。

最佳答案

您可以设置断点,以便它在您自己之外的代码上中断。但是您将无法看到源代码,因为您没有源代码。

在 xCode (3.x.x) 中 “运行->管理断点->添加符号断点”

关于cocoa - 我可以在 Cocoa 框架代码中设置断点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245856/

相关文章:

cocoa - 解决传递大量数据时 NSFileHandle NSTask 阻塞的问题

ios - 在模拟器上运行应用程序时,它崩溃并提示 thread 1 : breakpoint 3. 1. 我该怎么办?

javascript - 如何禁用谷歌分析调试js?

python代码试图找到质数。代码计算的不是素数。找不到原因

c - 使用命令行参数解密和加密文本

macos - 核心数据 iCloud 同步中的关系完整性和验证

cocoa - 更新核心数据中的值

cocoa - Cocoa 中类之间的协调

ios - Xcode 10 迁移错误

ios - Xcode,单击按钮转到下一个 View Controller 崩溃