logkit.qualcomm atheros.com这是手机里的一个程序

1 Android Log
最近遇到一些抓log 的事情,很多来自网上达人的分享,加在一起总结一下:
log文件分为实时打印的,还有状态信息的两种
&&& 实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump, QXDM Log
&&& 状态信息的有:adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport
  adb logcat -b events -v time& 打印系统事件的日志,比如触屏事件
  tcpdump 是很有用的,对于TCP/IP协议相关的都可以使用这个来抓,
  adb shell tcpdump -s 10000 -w /sdcard/capture.pcap,
  比如抓mms下载的时候的UA profile,browser上网的时候,使用proxy的APN下载,streaming的相关内容包括UA profile等。
&&&&&&&& 其实一个就够了,那就是bugreport(命令adb bugreport&bugreport.log)。
&&&&&&&& 里面包含有dmesg,dumpstate和dumpsys;
&&&&&&&& dmesg(命令adb shell dmesg & ldmesg_kernel.log)是kernel的log,凡是跟kernel相关的,比如driver出了问题(相机,蓝牙,usb,启动,等等)
&&&&&&&& dumpstate是系统状态信息,里面比较全,包括手机当前的内存信息、cpu信息、logcat缓存,kernel缓存等等;
&&&&&&&& dumpsys这个是关于系统所有进程Process的内容都在这个里面,adb shell dumpsys 这个命令还有更详尽的用法,
&&&&&&&& 比如adb shell dumpsys meminfo system是查看system这个process的内存信息。
&&&&&&&& dumpsys [options]
&&&&&&&&&&&&&& meminfo & 显示内存信息
&&&&&&&&&&&&&& cpuinfo &&&& 显示CPU信息
&&&&&&&&&&&&&& account &&& 显示accounts信息
&&&&&&&&&&&&&& activity 显示所有的activities的信息
&&&&&&&&&&&&&& window &&& 显示键盘,窗口和它们的关系
&&&&&&&&&&&&&& wifi && 显示wifi信息
  通过adb logcat/bugreport可以实时的查看系统的log,以及系统的状态信息;
  如何将Log存储下来,保存当时系统运行的情况呢?
  可以通过一些脚本或者执行可执行程序来保存log信息,以便分析问题;
2 抓取实时log&
int main(int argc, char *argv[])
//抓取main log
char path[] = "/xxx/xxx/app_main.log";
sprintf(cmd,"logcat -v time & %s",path);
fd = open(path, O_WRONLY|O_TRUNC|O_CREAT, 0777);
system(cmd);
//radio log
sprintf(cmd,"logcat -b radio -v time & %s",path);
system(cmd);
sprintf(cmd,"cat /proc/kmsg & %s",path);
system(cmd);
//bluetoolth log
sprintf(cmd,"hcidump -w %s","/data/bt.log");
system(cmd);
3 抓取状态log
int main(int argc, char *argv[])
//panic log 需要判断/proc/apanic_console是否存在
sprintf(cmd,"cp -R %s %s",from_dir,to_dir);
system(cmd);
//anr log /data/anr/
sprintf(cmd,"cp -R %s %s",from_dir,to_dir);
system(cmd);
//tombstones log /data/tombstones/ modem重启复位等
sprintf(cmd,"cp -R %s %s",from_dir,to_dir);
system(cmd);
//mdm log /data/tombstones/mdm/  modem重启复位
sprintf(cmd,"cp -R %s %s",from_dir,to_dir);
system(cmd);    &&
panic log:
  它表示Linux kernel走到了一个不知道该怎么走下一步的状况,
  /view/519ceae009ed50
tombstone log:&&&&
  当系统发生tombstone的时候,kernel首先会上报一个严重的警告信号(signal),上层接收到之后,
进程的调试工具会把进程中当时的调用栈现场保存起来,并在系统创建了data/tombstones目录后把异常时的进程信息写在此目录里面,
开发者需要通过调用栈来分析整个调用流程来找出出问题的点。
  &/thread--1.html
4 Runtime 可执行程序
编译成可执行程序,当然在实际使用中需要一些控制参数。
代码里如何执行这些可执行程序:
&&&&&&&& 在底层可以通过system();
&&&&&&&& 在Java层Runtime.getRuntime().exec();
&&&&&&&& String BIN_PATH = "/system/bin/catch_log";
&&&&&&&& Runtime.getRuntime().exec(BIN_PATH + " -x 1");
&&&&&&&& Runtime.getRuntime().exec("/system/bin/cat& "+path);
&&&&&&&& Runtime.getRuntime().exec("su -c chmod 777 /data/glad.txt");
&&&&&&&& Runtime.getRuntime().exec("/system/bin/sh /data/test.sh");
Android Runtime使得直接调用底层Linux下的可执行程序或脚本成为可能
比如Linux下写个测试工具,直接编译后apk中通过Runtime来调用
或者写个脚本,apk中直接调用,省去中间层或者JNI;
&&&&&&&& 参考文档:http://blog.csdn.net/zmyde2010/article/details/6123987
5 diag_mdlog
&&&&&&&& 这是高通提供的抓取qxdm log的东东。
&&&&&&&& 既包括AP端得,也包括BP端的;或者跟选择端口有关系,8064ap和modem端口独立;
&&&&&&&& 代码位置:\vendor\qcom\proprietary\diag\mdlog\
&&&&&&&& 使用diag_mdlog这个可执行程序来抓取log
&&&&&&&&&&&&&&&&&& 需要Diag.cfg文件来配置过滤项,选择需要的Log信息。在使用前必须放置一个Diag.cfg文件。
&&&&&&&&&&&&&&&&&& Diag.cfg文件可以用QXDM生成;可以通过F12,Filtered View /Config 来生成Diag.cfg
&&&&&&&&&&&&&&&&&&
&&&&&&&& 这个程序一次只能执行一个,可以用kill -9 PID 将其强制结束
6 抓取Ap 端 memory dump
&&&&&&&& 高通qpst工具Memory Dump App
&&&&&&&& 要在downloader模式
&&&&&&&& 需要修改的nv项:
&&&&&&&&&&&&&&&&&& 905 0
&&&&&&&&&&&&&&&&&& 4399 1
&&&&&&&& 或者使用emmc进入downloader模式。
&&&&&&&& 打开连接手机, Get Regions,选择需要保存的Regin,SaveTo选择一个文件夹,确定即可
&&&&&&&& 注意:这个路径下不能有中文,必须是英文的路径
阅读(...) 评论()本月热门文章com.qualcomm.permission.locapi是什么_百度知道
com.qualcomm.permission.locapi是什么
手机里的的一个软件,他是干什么用的?
我有更好的答案
本身是运行不了的,相当于一个被动驱动器。
忘采纳它只是手机上的一个附件,需要搭讪其他组件
我有方法,你采纳我后,留下QQ联系,我告诉你
还是去客服帮你查查
其他类似问题
为您推荐:
qualcomm的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁联想乐檬logkit是什么东西?按电源键和音量的上键就会出现这东西_百度知道
联想乐檬logkit是什么东西?按电源键和音量的上键就会出现这东西
提问者采纳
若在后续的使用过程当中有着其他问题,然后左滑动或者右滑动即可实现将其关闭了,其是手机系统自带的一种记录下您在使用当中出现手机运行异常的工具,请您了解.)进行咨询了解.com" target="_blank">http://ask,此时您只需在下拉栏当中按住该程序://ask,欢迎您随时与我们联系或访问联想乐问吧(<a href="http.lenovomobile您好。根据您的描述
提问者评价
其他类似问题
为您推荐:
其他2条回答
那是提示声音开到最大的声音了
该程序为系统日志的记录和抓包工具,可下拉通知栏,通过滑动将其关闭即可。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁关于阅读一个C++的程序问题_百度知道
关于阅读一个C++的程序问题
程序如下,我想知道输出结果为什么是1 5 5 4 3 2 1 1
,给讲下输出过程#include&iostream&class count{
void show()
{cout&&n&&}
{cout&&n&&n--;}};int count::n=0;void main(){ a.show(); {c旦饥测渴爻韭诧血超摩ount b[4]; b[3].show();} a.show();}
提问者采纳
每实例化count一次,调用一次构造函数,n++//
n == 1 a.show();count b[4]; //n++执行四次 n ==5 b[3].show();&旦饥测渴爻韭诧血超摩#47;/ n是static 的,并不属于任何对象,所有对象共用 n
n还是等于5a.show() //同理bi 函数退出后,销毁对象,调用析构函数,每销毁一个 --n
来自团队:
其他类似问题
为您推荐:
其他3条回答
主要问题是大括号改变了虚构顺序,你如果删除掉大旦饥测渴爻韭诧血超摩括号应该得到你预期的输出.1 5 5 4 3 2 1 115,由main中前两个show函数输出,5 4 3 2,由数组b[4]的虚构函数输出.此时n的值是1再由main函数的最后一个show函数输出1些时n的值还是1;最后main函数退出,调用虚构函数再次输出1结果将显示:1 5 5 4 3 2 1 1
DLL文件(Dynamic Linkable Library 即动态链接库文件),是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源.
比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序 EXE 文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的 EXE 程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试。
Windows 系统平台上提供了一种完全...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 qualcomm atheros 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信