草庐IT

lldb_private

全部标签

ios - LLDB - 如何在不停止进程的情况下附加到进程

我正在寻找一种方法来附加到使用lldb的进程而不停止它。我正在调试的程序存在竞争条件,我担心暂停会导致更多的熵。类似的问题,但针对gdb:gdbattachtoaprocesswithoutstop.使用的版本:lldb-vlldb-900.3.72 最佳答案 这在x86_64或ARMv8-A上是不可能的(我在这里做了一个假设,但它代表大多数现代操作系统设计/架构)。一般来说,任何时候进程(暂时忘掉实时的东西)进行系统调用或被中断(在抢占式操作系统中,这可能以多种方式发生)它都会屈服于操作系统,此时有一个在执行返回到该点之前,它可能

ios - Xcode 4.6 在使用 LLDB 调试器时卡在 "Attaching to..."

正如标题所说,我在使用LLDB时遇到了问题。我查看了这个线程Xcode4hangsonattachingto(Appname)whendebuggerissettoLLDB并按照给出的说明进行操作,因为我遇到了完全相同的问题,并通过使用GDB进行了调试-它完美无缺。无论如何,我在一个团队中工作,而且我是唯一遇到这个问题的人,所以每次我提交更改时从GDB来回切换到LLDB有点烦人,所以解决方法不会在远程存储库。我检查了编译器,它设置为LLVM4.2。事实上,该应用程序编译完美并安装在模拟器中(我可以在我终止并重新启动Xcode后执行它)。我会尝试重新安装Xcode,但这很麻烦,因为它是一

ios - 使用公共(public)/非公共(public)/私有(private) API 在设备上获取顶级 UIWIndow/UIView

我正在尝试找出如何使用非公共(public)/私有(private)API找到最顶层的View,是否有任何方法可以做到这一点(iOS7.1.2)?编辑:可能我没说清楚,无论现在有什么应用程序处于事件状态(Facebook、whatsapp、游戏、锁屏、日历等),我都想获得最高的View。 最佳答案 选项如果我没理解错的话,您想要在另一个应用程序的窗口之上显示一个UIView。在应用程序沙箱中,您只能访问自己应用程序的窗口。然而,越狱将允许您执行此操作,但这并不简单。为了在应用程序之上显示一个View,您有三个选择。您选择哪个选项取决

iOS:IBAction/私有(private)方法——为什么在@interface 下的.m 中声明?

在@interface下的.m文件中声明IBActions或私有(private)方法的目的是什么?如果我将方法放在.m文件中的任何位置而不声明,Xcode似乎可以正常编译。 最佳答案 较新版本的Clang解析更多。编译器不再需要在@implementationinthiscase中使用之前查看方法声明,因为它知道@implementation将在相同的翻译(使用@end)。所以它只是为了您的方便而存在,但它仍然很新,并且在引入之前编写了大量代码。因此,不再需要声明。它当然仍然有效,所以如果您必须支持旧的工具链或者如果您希望在@in

ios - 将 Vimeo API 集成到我的私有(private)应用程序中

我的要求很简单。我是VimeoPro用户,我的帐户中几乎没有私有(private)视频,我只想在我的私有(private)应用程序中播放它。如何实现这一点……我真的应该通过所有Oauth身份验证过程吗?只需使用accessToken,我就可以访问我的视频。?我只想知道brightcove到底是如何工作的,他们为我上传的视频提供了一个token和视频Id,使用它我可以在我的应用程序中播放视频。vimeo做不到这一点吗?等待建议 最佳答案 您可以使用VIMNetworking图书馆。这是官方的VimeoiOSSDK。查看Lightwei

ios - LLDB Python 访问 iOS 变量?

作为调试可能与我的UIVIews相关的问题的一部分,我想编写一个从LLDB运行的python脚本。我曾想在断点和所有View子项中提取View的所有设置,以允许我比较状态。我查看了有关该主题的WWDC视频,然后花时间阅读lldb.llvm.org/scripting.html上的内容,但没有发现它们很有帮助。在网络上搜索示例,结果与这些示例没有实质性不同。我的问题是我试图弄清楚如何在我的断点处访问iOS变量。我见过的示例执行诸如转换数字和模拟shell命令之类的操作。有趣的东西,但对我的目的没有用。我一直在阅读“脚本帮助(lldb.SBValue)”等帮助信息,但进展缓慢,因为结果很大

ios - 替代私有(private)-[UIDevice setOrientation :] for forcing camera overlay into portrait mode

我正在为iPad制作相机应用。我希望相机应用程序仅在纵向模式下工作。我不得不进行旋转观察,并强制设备像这样使用纵向模式:UIImagePickerControllerinLandscape我认为这是私有(private)API;帖子中的一些用户认为是。如果是这样,我还可以使用其他什么解决方法来强制叠加层仅保持纵向模式?如果我不添加此代码,它会旋转到纵向和横向模式。//Isthisprivate?@interfaceUIDevice()-(void)setOrientation:(UIDeviceOrientation)orientation;@end-(IBAction)Initiat

ios - 如何在 LLDB 调试器中打印 C 变量?

正如问题所说。在Xcode4.6中。想要打印整数、字符、数组、自定义结构等。可能吗?使用Objective-C我可以做类似的事情:整数三=3;po[NSStringstringWithFormat:@"%i",三];谢谢。 最佳答案 po代表PrintObject,本质上是调用对象的description方法。使用p打印一个整数。例如:pthree 关于ios-如何在LLDB调试器中打印C变量?,我们在StackOverflow上找到一个类似的问题: http

ios - 只读公共(public),读写私有(private)属性(property)

我看到了这个thread,但在iOS7中并不完全清楚,因为编程指南说您可以省略属性的@synthese关键字。我想要一个@property,它在外部是readonly,但在内部是readwrite。我可以像这样只使用@property关键字吗?编辑:在所提供的答案中,什么会被认为更正确,或者至少更惯用。要在类扩展中拥有单独的readwrite属性还是在实现中直接访问ivar?编辑:按照答案中的建议表明我正在使用类扩展。//.h@interfaceCACustomerAuthenticator:NSObject@property(nonatomic,copy,readonly)NSStr

ios - 如何在 Xcode lldb 控制台窗口中显示 UITableView indexPath.row

如何在控制台窗口中打印出UITablesindexPath.row。我不想到处添加NSLogs。我一直收到“不是成员(member)”或属性(property)。(lldb)expr(int)printf("%d\n",self.lastChangedIndexPath->_row)error:'NSIndexPath'doesnothaveamembernamed'_row'(lldb)printself.lastChangedIndexPath->_rowerror:'NSIndexPath'doesnothaveamembernamed'_row'(lldb)printself.