天道酬勤,学无止境

Android DDMS v22.0.1 unable to generate a systrace using Droid Razor 4.1.2

I've selected several of the trace tags and when I run the trace (from DDMS) I get the following output:

Unexpected error while collecting system trace. Unable to find trace start marker 'TRACE:':
error opening /sys/kernel/debug/tracing/options/overwrite: 
No such file or directory (2)

error openi(cuts off the error here)

indeed there is no debug file in the kernel directory, but which mechanism will generate the necessary path?

评论

It looks like your cellphone is running a boot(kernel) image that does not support systrace.

"error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory (2)"

This error message means adb daemon (the adb module running on device side) could not find /sys/kernel/debug/tracing/options/overwrite on your device's file system. systrace works over adb and communicates with kernel though sysfs nodes under /sys/kernel/debug/tracing. If these nodes are not exposed on you phone for whatever reason, systrace just will not work.

So you should first get a shell on your device using:

adb shell

Then browse to confirm if /sys exists at all and if /sys/kernel/debug/tracing exists.

If they are there which is extremely unlikely, you have to debug systrace.py to figure out how come systrace think the nodes were not there. Otherwise, you need to flash a different boot image which has systrace support, because sysfs is controlled by kernel(mostly by configurations at compile time) and init.rc , both of which are part of boot image.

Flashing a different boot image might involve unlocking/rooting the device. You probably have to go to fan sites like xdadeveloper for information and image. Another option is to download the source of kernel for your device, compile kernel and make the boot image yourself. Linux is under GPL thus manufacturer of your device is obligated to release the source code of the specialized kernel they use.

-NAM http://www.willpromo.com

You may need to slightly modify the kernel image(boot.img). The following work find for me, just for your reference.

  1. open terminal and enter: $adb shell
  2. (1) $su (2) $mount -t debugfs none /sys/kernel/debug. Now you should be able to see many directories under /sys/kernel/debug/. (You may cd into /sys/kernel/debug to confirm this)
  3. Enter: $dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img to generate the boot.img kernel image from your device.
  4. Use AndroidImageKitchen to unpack the boot.img and find the default.prop within Ramdisk folder. Then change ro.debuggable=0 to ro.debuggable=1. Repack the boot.img and flash boot it to your device.
  5. Once the device boot, under terminal, enter: $adb root and message like: $restarting adbd as root may pop up. Disconnect the USB and connect again.
  6. cd to the systrace folder, e.g. ~/androidSDK/platform-tools/systrace and use: python systrace.py --time=10 -o mynewtrace.html sched gfx view wm
  7. Now you may able to generate your own systrace files.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 无法查看由Android SDK中的Systrace工具生成的HTML跟踪报告(Unable to view HTML trace report generated by Systrace tool in Android SDK)
    问题 我正在尝试使用Android SDK中的Systrace工具生成跟踪报告,但无法在浏览器中查看报告。 它为空白,不包含任何信息。 我在一些论坛上读到需要在Chrome浏览器中打开报告,我也使用Chrome打开了报告,但报告为空白。 我已经从开发人员选项中启用了USB调试,并且设备正在运行Android 4.2,并且我正在使用Android SDK中的DDMS工具生成跟踪。 http://developer.android.com/tools/help/systrace.html 回答1 首先,如果有人在OS X或Windows上使用Chrome v50.0 +,请尝试此操作。 打开chrome浏览器,然后转到“ chrome:// tracing” 在“跟踪”页面中,单击“加载”,然后选择systrace生成的html文件。 其次,我认为这是Google确认的错误。 看起来这是因为现代版本的Chrome已弃用Object.observe函数[1] [2]。 有关更多信息,请参见https://code.google.com/p/android/issues/detail?id=57135 回答2 我也有在Linux上运行chrome的问题。 看来他们在执行javascript绘制结果的过程中存在错误。 检查JavaScript控制台。 我的说。 未捕获的TypeError
  • Unable to view HTML trace report generated by Systrace tool in Android SDK
    I am trying to generate trace reports with Systrace tool in the Android SDK, but I cant view the report in the browser. It is blank and does not contain any information. I read in some forums that I need to open the report in Chrome browser, I opened it with Chrome as well but the report is blank. I have enabled USB Debugging from the Developer Options and device is running Android 4.2 and I am using DDMS tool from the Android SDK to generate the traces. http://developer.android.com/tools/help/systrace.html
  • (一百八十三)学习TraceView
    参考: Android 性能优化:使用 TraceView 找到卡顿的元凶 Android性能优化(一)之启动加速35% PS:启动加速总结一下就是能懒加载的懒加载,不能懒加载的看能不能放异步,异步线程合理分配优先级。 1. 使用 Android Studio 生成 trace 文件 Android Monitor已经过时了,现在用的profile 之前有学习过,但好久不用忘了。。。 https://blog.csdn.net/sinat_20059415/article/details/80584621 突然发现之前参考的文档其实就是搬运的开发文档,也是,自己摸索哪有这么全 https://developer.android.google.cn/studio/profile/cpu-profiler 2.使用 DDMS 生成 trace 文件 jiatai@jiatai:~/Android/Sdk/tools$ sudo ./monitor OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 Error Loading DDMS Preferences ddms已经过时了 3.Systrace 如果要收集详细的系统级数据
  • Does Android systrace require root access?
    I am trying to run systrace on a non-rooted device. It always gives the following error if any of the trace events is selected: Unable to find trace start marker 'TRACE:': error opening /sys/kernel/debug/tracing/events/cpufreq_interactive/enable: No such file or directory If no trace event is selected, it works, but the trace is not very usweful. Does systrace requires root access? Note that I am running systrace directly from Eclipse (DDMS) on Windows-7.
  • 在设备上运行Android systrace(Running Android systrace on device)
    问题 我无法运行名为systrace.pl的Android SDK工具,因为出现以下错误: error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory 实际上,/ sys / kernel / debug / tracing目录甚至根本不存在。 一些研究表明,我需要使用以下命令启用debugfs: mount -o rw,remount -t debugfs none /sys/kernel/debug 之后在那儿运行mount表示debugfs正在运行: #mount ... /sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0 ... 我在开发人员设置菜单中启用了跟踪(所有项目)。 我在三星Galaxy S3上使用了ROM 4.1.1。 Android上的systrace上有很多文章,但似乎没有什么方法可以解决在/ sys / kernel / debug / tracing中实际上没有生成文件的问题。 回答1 看一下这个文件: 在Android 4.3及更高版本上进行跟踪要在Android 4.3和更高版本的设备上运行跟踪,请执行以下操作: Make sure the device is
  • Android 启动优化总结
    1、简述 之前这篇文章仅仅只是抛出来一些案例,没有深度,而且并不一定效果良好(充其量只是参照牛人积累了一点案例),这里我需要在这里重新调整书写,力求有更好的说明,让自己对该块只是理解的更深刻透彻一点(2020/07/23) 我对启动优化存在如下困惑 什么是app启动?app的启动分类?如何统计app启动时长?方式多种可以吗?app启动的流程熟悉?我们针对优化的重点应放在哪呢?你平时是如何做app启动优化的呢?效果好吗? 2、 启动优化知识积累 我们针对上述提出的问题,积累一下启动优化的知识,最终达到我们进行优化的目的。 闪屏优化、业务梳理、业务优化、线程优化、GC 优化和系统调用优化 工具主要是 systrace 2.1、应用启动定义 应用启动是从点击图标到用户可操作的整个过程 2.2、启动分类 冷启动 1.场景:开机后第一次启动应用 或者 应用被杀死后再次启动 2.生命周期 Process.start->Application创建->attachBaseContext->onCreate->onStart->onResume->Activity生命周期 3.启动速度:在几种启动类型中最慢,也是我们优化启动速度最大的拦路虎温启动 1.场景:应用已经启动,返回键退出(应用进程存在) 2.生命周期:onCreate->onStart->onResume->Activity生命周期 3
  • Running Android systrace on device
    I'm unable to run the Android SDK tool called systrace.pl because I get errors like: error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory And indeed the /sys/kernel/debug/tracing directory doesn't even exist. A little research showed I need to enable debugfs with the following command: mount -o rw,remount -t debugfs none /sys/kernel/debug Running mount there afterwards indicates the debugfs is running: #mount ... /sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0 ... And I have trace enabled (all items) in the developer settings menu. I'm using the
  • 一些“ Android开发/ SDK工具”之间有什么区别?(What is the difference between some “Android Development/SDK tools”?)
    问题 Android开发工具和Android SDK工具以及Android SDK平台工具和Android SDK构建工具之间有什么区别? 为什么不将其中一些合并为更少的组呢? 当我降级/升级它们时,这四个工具使我感到困惑。 回答1 那么,在Android开发工具(ADT)是结合使用Eclipse来开发apps.There是ADT捆绑是包含你需要开始创建应用程序的一切包插件。 但是, SDK工具是Android SDK的可下载组件。 它包括用于Android SDK的完整开发和调试工具集。 我建议您下载ADT捆绑包。 它包含您需要的一切。 最后引入了Google I / O Android Studio,但仍处于测试版。 它基本上可以完成ADT的工作,并允许您查看应用程序在许多不同设备上的显示方式。 回答2 SDK工具 SDK工具随SDK入门包一起安装,并定期更新。 如果要开发Android应用程序,则需要SDK工具。 最重要的SDK工具包括Android SDK Manager(android sdk),AVD Manager(android avd)仿真器(emulator)和Dalvik Debug Monitor Server(ddms)。 下面提供了一些常用的SDK工具的简短摘要。 安卓 Lets you manage AVDs, projects, and the
  • Android:转换为 Dalvik 格式失败:无法执行 dex:null(Android: Conversion to Dalvik format failed: Unable to execute dex: null)
    问题 我正在尝试在 Android 上使用 SmugFig SmugMug API。 我想它是为 J2SE 设计的,所以我不确定它甚至可以在 Android 上运行,但我认为与尝试创建自己的 API 相比,它值得尝试。 但是,当我加载项目时,出现以下错误: Conversion to Dalvik format failed: Unable to execute dex: null 它没有说明它在哪个包上失败,只是“Android 打包问题”,但是在我添加 SmugFig 之前它没有这样做,并且它的依赖 JARS 到构建路径。 我应该在哪里看? 或者这主要是我认为它不适用于那些库吗? 回答1 我发现一个博客条目说增加 eclipse.ini 中分配的内存到这个: -Xms128m -Xmx512m 或更高的东西,但这对我没有帮助。 但是,我发现另一篇文章建议执行 Project > Clean 并为我修复了它。 我认为当您关闭 Eclipse 而不先关闭模拟器时会发生这种情况。 相当蹩脚的虫子。 今天早上花了几个小时寻找解决方案......grrrrrrr :-( 回答2 转到 Project » Properties » Java Build Path » Libraries 并删除除“Android XY”之外的所有内容(在我的情况下为 Android 1.5)。 单击确定。
  • No repository found in Crashlytics install for eclipse
    I'm trying to install the Crashlytics SDK into my Eclipse but I'm getting the following error: 'Installing Software' has encountered a problem. An error ocurred while collecting items to be installed An error occurred while collecting items to be installed session context was:(profile=profile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,com.android.ide.eclipse.adt,22.0.1.v201305230001--685705 No repository found containing: osgi.bundle,com.android.ide.eclipse.adt.package,22.0.1.v201305230001--685705 No repository
  • 在用于 Eclipse 的 Crashlytics 安装中找不到存储库(No repository found in Crashlytics install for eclipse)
    问题 我正在尝试将 Crashlytics SDK 安装到我的 Eclipse 中,但出现以下错误: “安装软件”遇到问题。 收集要安装的项目时发生错误 An error occurred while collecting items to be installed session context was:(profile=profile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,com.android.ide.eclipse.adt,22.0.1.v201305230001--685705 No repository found containing: osgi.bundle,com.android.ide.eclipse.adt.package,22.0.1.v201305230001--685705 No repository found containing: osgi.bundle,com.android.ide.eclipse.base,22.0.1.v201305230001--685705 No repository found containing
  • 移动无线测试技能树
    移动无线测试技能树 2016-02-20 13:11 狂师 阅读(460) 评论(0) 编辑 收藏 移动无线测试技能树常用IDEAtomSublime TextVimXcodeADTAndroid StudioAndroidiOSCommon基础知识掌握基本的测试用例设计方法和思想掌握api相关基础知识掌握web开发基础技能掌握iOS开发基础技能掌握Android开发基础技能AndroidiOSwebapi测试常见应用模式NativeHybridH5 AppReactNative常用工具lldbiExplorerlibimobiledevice 套件codesigninstrumentsxcodebuildatosxcrunAndroid sdk manageradbddmsantaaptemulatorGenymotionhierarchyviewermonitormonkeymonkeyrunneruiautomatorviewerAndroidiOS常用UI Automation框架UIAutomationXCUITestingKIFFrankappiumios-driverMechanic.jsmonkeytalkCalabash
  • 无法在Android Studio中打开DDMS。 神秘的Eclipse错误弹出(Unable to open DDMS in Android Studio. Mysterious Eclipse error pops up)
    问题 因此,在这里我再次遇到另一个Android Studio工具错误。 我认为以前没有此报道,也找不到任何帖子。 我试图通过单击以下按钮在Android Studio中打开设备监视器(DDMS): 每次我遇到相同的错误。 真正令人费解的是它是一个Eclipse错误,如图所示: 因此,它告诉我在Android Studio SDK文件夹中打开一个日志文件。 日志文件包含很多文本,但是主要错误报告为: !ENTRY org.eclipse.osgi 4 0 2015-05-27 09:40:53.091 !MESSAGE Application error !STACK 1 java.io.IOException: The folder "C:\Users\JOHN%20SMITH\.android\monitor-workspace\.metadata" is read-only. at org.eclipse.core.runtime.internal.adaptor.BasicLocation.lock(BasicLocation.java:206) at org.eclipse.core.runtime.internal.adaptor.BasicLocation.set(BasicLocation.java:164) at org.eclipse.core.runtime
  • Unable to open DDMS in Android Studio. Mysterious Eclipse error pops up
    So here I go again with yet another Android Studio tools error. I don't think this one has been reported before, I can't find any posts on it. I am trying to open the Device Monitor (DDMS) in Android Studio by clicking on the following button: Every time I get the same error. What's really puzzling is that its an Eclipse error, as shown in the image: So it tells me to open a log file in the Android Studio SDK folder. The log file contains lots of text, but the main error is reported as: !ENTRY org.eclipse.osgi 4 0 2015-05-27 09:40:53.091 !MESSAGE Application error !STACK 1 java.io.IOException
  • Android性能优化系列:启动优化
    文章目录 1 应用启动类型1.1 冷启动1.2 温启动1.3 热启动 2 查看启动耗时2.1 adb命令查看2.2 Logcat Displayed查看启动耗时2.3 手动记录启动耗时2.3.1 Application.attachBaseContext()2.3.2 Activity.onWindowFocusChanged()?draw? 2.4 AOP记录方法耗时 3 启动耗时分析工具3.1 CPU Profiler3.2 TraceView3.2.1 TraceView的操作步骤3.2.2 TraceView使用注意事项3.2.3 TraceView的缺点和使用场景 3.3 Systrace3.3.1 Systrace环境安装3.3.2 Systrace的操作步骤3.3.3 Systrace的优点使用场景 4 Application初始化的启动优化途径4.1 异步加载:子线程/线程池、TaskDispatcher4.1.1 子线程/线程池4.1.2 异步启动器TaskDispatcher 4.2 延迟加载:IdleHandler4.3 其他启动优化方案 5 UI的启动优化途径5.1 修改启动主题背景5.2 UI渲染布局优化5.3 异步inflate 1 应用启动类型 应用的启动类型分为三种: 冷启动 温启动 热启动 三种类型启动耗时时间从大到小排序:冷启动 > 温启动 >
  • Android-通过DDMS分析特定线程(UI线程)(Android - profiling a specific thread (UI Thread) via DDMS)
    问题 在某些情况下,我试图找到导致我的应用程序中的UI线程冻结的原因。 我已经通过DDMS分析运行了该应用程序。 但是在底部的树表视图中,我看到了所有线程上调用的所有方法,而我只想关注主线程。 有没有一种方法可以过滤DDMS中方法的最底层树表列表,以仅包括所选线程(在我的情况下为UI线程)的统计信息? 一个子问题:是否有一些好的Android分析器? 回答1 用户界面没有提供执行此操作的方法-您只需要浏览时间轴并单击看起来比较忙碌的部分。 有一种粗略的方法可以满足您的需求。 SDK包含一个名为dmtracedump的工具,可用于从.trace文件生成报告。 当您使用DDMS捕获跟踪时,请注意文件的位置(我的位置是/tmp/ddms4176182990461128308.trace )。 在Linux上,您将运行: dmtracedump -o <filename> > trace.txt 这将为您提供一个类似于以下内容的文件: VERSION: 3 Threads (13): 1 main 2 GC 3 Signal Catcher 4 JDWP ... Trace (threadID action usecs class.method signature): 4 xit 0 ..dalvik/system/VMDebug.startMethodTracingDdms (IIZI
  • ADT将不允许创建Android活动(ADT will not allow creation of Android Activity)
    问题 昨天,我从http://developer.android.com/sdk/index.html安装了ADT捆绑包,并且正在遵循基本的Hello World教程。 我创建了一个新的Android应用程序项目,其中包含一个名为MainActivity的空白活动。 生成的项目有一个空的src文件夹和空的res\layout文件夹。 gen文件夹中有一个R.java文件,但没有对MainActivity引用。 这就是SDK管理器说的我已安装的内容 Android SDK工具v 22.6 Android SDK平台工具v 19.0.1 Android SDK Build-tools v 19 SDK平台v 3 ARM EABI v7a系统映像v 2 Android支持库v 19.0.1 Google USB驱动程序v 9 我还尝试通过右键单击src文件夹并转到Android Activity来手动创建活动,但是当我在创建向导中单击“完成”时,没有任何反应。 有人对发生的事情有任何线索吗? 我错过了要安装的关键组件吗? 回答1 如果您更新到Android SDK工具版本22.6,则需要更新DDMS工具和插件。 转到“帮助菜单栏”->“安装新软件”并安装(将对其进行更新)URL:https://dl-ssl.google.com/android/eclipse/ 还将“开发人员工具”和“
  • DDMS无法看到Google Glass(DDMS unable to see Google Glass)
    问题 我正在尝试让Eclipse和DDMS查看我的Google Glass设备。 我已按照此处的说明进行操作: https://developers.google.com/glass/develop/gdk/quick-start 但是,无论我做什么,DDMS设备列表仍然为空。 我尝试了多个USB端口和不同的电缆。 设备管理器可以看到Glass设备,但DDMS看不到。 DDMS可以看到仿真器。 进行一些挖掘之后,似乎需要确保已为实际设备和仿真器安装了驱动程序。 但是,我找不到有关如何使用Google Glass进行操作的任何说明。 我尝试安装通用的Google USB驱动程序,但是不会为Glass设备安装。 我正在Windows 8.1上运行所有这些程序,尽管我似乎找不到任何可以改变的地方。 我想知道是否还有其他人有这个问题或可以提供任何建议。 回答1 首先-禁用Windows 8的驱动程序签名强制实施。 第二-更新android_winusb.inf文件@ 示例: C:\ Development \ adt-bundle-windows-x86_64-20131030 \ sdk \ extras \ google \ usb_driver [Google.NTamd64] ;GoogleGlass %SingleAdbInterface% = USB_Install, USB
  • Problems with the Renderscript support library
    I am trying to use the Android Renderscript support library on devices of API 16 and up, following the steps described here. So far things have not gone smoothly. My Renderscript code is listed below. #pragma version(1) #pragma rs java_package_name(com.xxx.renderscript.test) #include "rs_time.rsh" rs_script flipScript; rs_allocation gIn; rs_allocation gOut; int width; int height; int direction = 0; void root(uchar4 *v_out, const void *usrData, uint32_t x, uint32_t y) { if(direction == 0) { // flip horizontally const uchar4 *element = rsGetElementAt(gIn, width - x, y); float4 color =
  • Android ADT 23 更新 - 由于依赖冲突而无法完成安装(Android ADT 23 Update - Cannot complete the install because of a conflicting dependency)
    问题 首先,经常会询问 ADT 更新错误,但我已尝试执行其他问题线程中提到的所有操作,但没有成功(使用 https 和不使用,也可以下载 ADT23.zip)。 这是我尝试更新时得到的: Cannot complete the install because of a conflicting dependency. Software being installed: Android DDMS 23.0.0.1245622 (com.android.ide.eclipse.ddms.feature.feature.group 23.0.0.1245622) Software currently installed: Android Developer Tools 22.6.2.v201403212031-1085508 (com.android.ide.eclipse.adt.package.product 22.6.2.v201403212031-1085508) Only one of the following can be installed at once: Dalvik Debug Monitor Service 23.0.0.1245622 (com.android.ide.eclipse.ddms 23.0.0.1245622) Dalvik Debug