我正在调试Objective-C应用程序,并希望看到ObjC库中的方法调用(用于教育目的!)。这样做的最好方法是什么?查看调用堆栈中的objc调用
回答
// print a stacktrace
NSLog(@"%@", [NSThread callStackSymbols]); // requires iOS 4
或
// print stacktrace using C functions
#import <execinfo.h>
#import <unistd.h>
void PrintStackTrace() {
void *stackAdresses[32];
int stackSize = backtrace(stackAdresses, 32);
backtrace_symbols_fd(stackAdresses, stackSize, STDOUT_FILENO);
}
或设置在XCode中断点以暂停执行,然后键入GDB在控制台命令或只是看在调试导航标签堆栈。
试过这个 - 但问题是我没有看到堆栈跟踪中的任何ObjC调用 – 2011-04-26 10:27:11
如果您键入'call(void)instrumentObjcMessageSends(YES)',您会在'/ tmp/msgSends-
有没有办法从bg线程获取主线程调用堆栈? – 2012-08-09 06:21:42
- 1. 如何查看ruby中调用堆栈的示例?
- 2. 通过Eclipse查看内置Android应用的调用堆栈?
- 3. JavaScript调用堆栈
- 4. erlang调用堆栈
- 5. jQuery调用堆栈?
- 6. 有没有办法在javascript中动态查看调用堆栈?
- 7. 如何在xcode中打印或查看方法调用堆栈?
- 8. 如何在SharePoint 2010中查看异常调用堆栈?
- 9. 如何在Android Studio中查看调用堆栈?
- 10. 在Pydev中调试时看到调用堆栈
- 11. 是否可以在delphi 7调试器中查看调用堆栈?
- 12. DebugDiag调用堆栈不显示调用堆栈中函数的行数
- 13. 协程调用堆栈
- 14. 调用堆栈性病:: bad_function_call
- 15. 调用堆栈管理
- 16. 服务调用堆栈
- 17. PHP调用堆栈问题
- 18. 调用堆栈错误 - C#
- 19. 访问Java调用堆栈
- 20. 非托管调用堆栈
- 21. 堆栈和堆查看器
- 22. 堆栈在iOS中查看
- 23. Android中的方法调用堆栈
- 24. 如何在CTRL + Break的情况下查看WinDbg中的实际调用堆栈
- 25. 如何在调试中查看活动堆栈?
- 26. 看到很多clr!CLRSemaphore ::在调用堆栈中等待
- 27. 调用已经在调用堆栈中的函数
- 28. 调用堆栈上的异常处理堆栈帧的顺序
- 29. 在JavaScript中调用堆栈大小
- 30. PowerShell中捕获调用堆栈抛出
你的意思是你想看到方法的符号名称? – JeremyP 2011-04-26 10:17:42
是的 - 这是正确的 - 最好使用GDB从命令行 – 2011-04-26 10:18:38
只需使用gdb中的'bt'命令。 – JeremyP 2011-04-26 10:22:22