16

如何运行systrace以显示其 html 输出?在观看了 Google I/O 2012 演讲“For Butter or Worse”之后,我无法systrace使用运行 Jelly Bean 4.1 的模拟器在 Windows 7 上工作。

我做了以下事情:

  1. 安装 Python 2.7,并将安装文件夹添加到我的 PATH
  2. 运行以下内容:(C:\android-sdk\platform-tools\systrace>python systrace.py使用较旧的 SDK C:\android-sdk\tools\systrace>python systrace.py:)

但是我在cmd中收到以下错误:

Traceback (most recent call last):
  File "systrace.py", line 212, in <module>
    main()
  File "systrace.py", line 124, in main
    ready = select.select([adb.stdout, adb.stderr], [], [adb.stdout, adb.stderr])
select.error: (10093, 'Either the application has not called WSAStartup, or WSAStartup failed')

笔记:

  • 我在模拟器中启用了跟踪:Settings > Developer Options > Enable traces
  • 我也尝试过使用 Python 3.2
4

3 回答 3

18

systrace python 脚本使用 select() 系统调用,这在 Windows 上不起作用。Android SDK 工具的最新预览版(ADT21 rc9) 支持从监控工具中收集系统跟踪。

启动监视器为:

./tools/monitor &

单击一个设备,在设备面板的右上角,您应该有一个工具栏项,可以让您收集系统跟踪。

于 2012-10-24T17:38:08.110 回答
3

我也遇到了这个问题。似乎 systrace.py 尝试将 select.select() 与文件描述符一起使用,如此处所述,Windows不支持该文件描述符。

我最终从 Linux VM 运行该工具。

于 2012-07-08T05:25:07.830 回答
0

如果您使用 eclipse 进行开发,那么您可以使用内置的 Systrace 实用程序以及概述的 @ http://developer.android.com/tools/help/systrace.html。这是我发现的最简单的收集痕迹的方法。

于 2014-10-11T21:09:02.767 回答