从命令行运行 Apple Instruments 抛出:模拟应用程序退出

Posted

技术标签:

【中文标题】从命令行运行 Apple Instruments 抛出:模拟应用程序退出【英文标题】:Running Apple Instruments from command line throws: The simulated application quit 【发布时间】:2012-06-01 10:30:47 【问题描述】:

此弹出窗口阻止其他脚本运行并打印以下内容:

仪器[2596]:kCGErrorInvalidConnection: CGSGetCurrentCursorLocation:无效的连接工具[2596] : kCGErrorFailure: 设置断点@CGErrorBreakpoint() 为 捕获记录的错误。

分段错误:11

我使用子进程(在 python 中)运行多个脚本来测试我的应用程序。

这是仪器中的错误吗?导致有时它只是打印以记录调试事件:“目标应用程序似乎已死亡”,这不会停止脚本流。

有什么想法吗?

[编辑]

我昨天更新了命令行工具,现在似乎提供了更多详细信息:

[__NSCFType transport]: unrecognized selector sent to instance 0x7fa54ba61b50 

09:43:49.987 instruments[2544:1203]_stopScript: threw -[__NSCFType transport]: unrecognized selector sent to instance 0x7fa54ba61b50 

2012-06-15 09:43:49.988 instruments[2544:1203] * -[NSConditionLock dealloc]: lock (NSConditionLock: 0x7fa548dbd480> '(null)') deallocated while still in use 

2012-06-15 09:43:49.988 instruments[2544:1203] * Break on _NSLockError() to debug.

【问题讨论】:

好的,我想我找到了解决方案。 使用iPhone模拟器目录下的.app文件。 你能把它写成答案吗?我想将其标记为正确的。谢谢 【参考方案1】:

您需要使用iPhone模拟器目录下的.app文件。

(或)

使用DSTROOT 标志执行 xcodebuild 以存放应用程序并将其用于自动化。

xcodebuild -workspace ./ProjectWorkspace.xcworkspace -scheme "SchemeName" -sdk 
iphonesimulator5.1 -configuration "Debug" clean build install 
DSTROOT=~/Desktop/tmp/yourAppName.app

【讨论】:

以上是关于从命令行运行 Apple Instruments 抛出:模拟应用程序退出的主要内容,如果未能解决你的问题,请参考以下文章

从设备上的命令行运行仪器 4.5 时无法启动跟踪

仪器无法从命令行启动

仪器错误:连接对等方拒绝通道请求

使用 Instruments.app 从终端进行 Mac、iOS 自动化测试

从命令行检测 Apple Silicon

对 Apple Instruments 工具的反馈