为什么仪器不执行我的 Monotouch 应用程序?

发布于 2024-10-26 18:29:45 字数 576 浏览 5 评论 0原文

我正在尝试使用 Instruments 来查看 Monotouch 应用程序中的资源使用情况。但是,我无法通过 Instruments 启动该应用程序。

当我按下 Instruments 中的录制按钮时,该应用程序会在我的 iPhone 上启动,发出嗡嗡声(表示它是调试版本),然后崩溃 - Instruments 报告:

Target failed to run: Remote exception encountered : 'Failed to get task for pid 384'

当我直接在手机上启动该应用程序时,该应用程序运行良好。

我已经尝试过调试构建和临时构建(使用 Monotouch 支持页面上定义的参数) 。总是一样的。

我正在使用 Monotouch 3.2.5、iOS 4.3.1(在 3GS 上)、Xcode 4 和 Snow Leopard。

我在网络上的一些地方看到了这个问题,但还没有看到解决方案。有人知道如何解决吗?

I'm trying to use Instruments to look at resource usage in my Monotouch app. However, I can't get the app to launch through Instruments.

When I hit the record button in Instruments, the app launches on my iPhone, buzzes (signifying it's a debug build), then crashes - and Instruments reports:

Target failed to run: Remote exception encountered : 'Failed to get task for pid 384'

The app runs fine when I launch it directly on the phone.

I've tried it with debug builds and ad hoc builds (using the parameters defined on the Monotouch support page). Always the same.

I'm using Monotouch 3.2.5, iOS 4.3.1 (on a 3GS), Xcode 4 and Snow Leopard.

I've see this issued mentioned in a few places around the web, but haven't seen a resolution. Anyone know how to resolve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

︶ ̄淡然 2024-11-02 18:29:45

这是一个签名问题:要在 Instruments 的控制下运行,应用程序是使用发布构建设置而不是调试构建设置进行编译的,这通常意味着应用程序是使用您的分发证书而不是开发人员证书进行签名的。
该应用程序需要使用 Instruments 的开发人员证书进行签名才能控制它。
在发布版本中将签名选项更改为开发人员,应该没问题。

It's a signing problem: to run under the control of Instruments, the app is compiled with the Release build settings, not the Debug build settings, which usually means the app is signed with your Distribution certificate instead of your Developer certificate.
The app needs to be signed with a Developer certificate for Instruments to be able to control it.
Change your signing option to Developer on the Release build and you should be fine.

寄离 2024-11-02 18:29:45

我在 Xcode 4 中也遇到了这个问题。对我有用的是......

从 Xcode 4 中,在连接的 iOS 设备上运行。
手动启动 Instruments 应用程序。
选择我的模板(在本例中为 TIME Profiler)。
从“目标”菜单(“录制”按钮右侧)中选择我的应用程序。
单击“录制”按钮。

建议的权利解决方案对我不起作用(因为 Xcode 4 中显然不再需要权利)。

建议的签名解决方案也不起作用。另外,每次我想用 Instruments 进行测试时都更改它会很不方便。

I also ran into this issue with Xcode 4. What worked for me was...

From Xcode 4, run on the connected iOS device.
Launch the Instruments app manually.
Choose my template (in this case TIme Profiler).
Choose my app from the Target menu (to the right of the Record button).
Click the Record button.

The suggested Entitlements solution did not work for me (since Entitlements are evidently no longer required in Xcode 4).

The suggested signing solution did not work either. Also, it would be inconvenient to change this every time I wanted to test with Instruments.

黑色毁心梦 2024-11-02 18:29:45

检查您的 Entitlements.plist 中是否有已签名的应用程序。如果 get-task-allowfalse,它将阻止 Instruments 附加到进程。

Check your Entitlements.plist for the signed app. If get-task-allow is false, it will prevent Instruments from attaching to the process.

对不⑦ 2024-11-02 18:29:45

从 XCode 内部启动 Instruments 怎么样?如果您使用的是 Xcode 3,它位于“构建”菜单中,然后位于“使用性能工具运行”。这将启动乐器并自动开始录音。

How about launching Instruments from inside XCode? If you're using Xcode 3, it's in the Build menu and then Run with performance tools. This will fire up Instruments and automatically start recording.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文