OpenHarmony 开发过程中我们一定会面对各种开发问题,比如如何看 log,如何看系统状态,如何调试,等等。本章内容就是总结一些常用工具。
交叉编译工具
源码下载:OH3.1 用的 5.5,OH3.2 升级了 5.7,两者都能用:
wgethttps://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux-gnueabi/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi.tar.xz解压、配置好路径(这个就不细讲了,可自行百度)。
GDB
源码下载:
wgethttps://mirrors.ustc.edu.cn/gnu/gdb/gdb-8.2.1.tar.gz交叉编译:
//1.解压工具链 tarxvfgcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi.tar.xz //2.解压gdb tarzxvfgdb-8.2.1.tar.gz //3.进入gdb目录编译 cdgdb-8.2.1 mkdirbuild cdbuild ../configureCC="/{gcc的路径}/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc"CXX="/{gcc的路径}/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++"LDFLAGS=-static--target=arm-linux-gnueabi--host=arm-linux-gnueabi make-j16 //4.build目录下gdb/gdb就是可执行文件,可以通过filegdb查看文件类型和内容 filegdb/gdb gdb/gdb:ELF32-bitLSBexecutable,ARM,EABI5version1(GNU/Linux),staticallylinked,forGNU/Linux2.6.32,BuildID[sha1]=a20d29b723426dbe06a1b17f66292090f916ad21,withdebug_info,notstripped
注意:编译后的 gdb 即可传输到设备上运行。
Valgrind
源码下载:
wgethttps://sourceware.org/pub/valgrind/valgrind-3.18.0.tar.bz2交叉编译:
//1.解压gdb tarjxvfvalgrind-3.18.0.tar.bz2 //2.进入valgrind目录编译 cdvalgrind //3.防止编译文件污染源码,建立目录 mkdirbuild //4.进入编译目录 cdbuild ../configureCC="/{gcc的路径}/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc"CXX="{gcc的路径}/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-g++"CPP="/home/wshi/arm-toolchain/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-cpp"--target=arm-linux-gnueabi--host=arm-linux-gnueabi--prefix=/bin make-j16 //5.build目录下coregrind/valgrind就是可执行文件,可以通过file命令查看文件类型和内容 filecoregrind/valgrind coregrind/valgrind:ELF32-bitLSBexecutable,ARM,EABI5version1(SYSV),dynamicallylinked,interpreter/lib/ld-linux.so.3,forGNU/Linux2.6.32,BuildID[sha1]=3963fa836d42fa54e0cf3c580792b777267f97eb,withdebug_info,notstripped filememcheck/memcheck-arm-linux memcheck/memcheck-arm-linux:ELF32-bitLSBexecutable,ARM,EABI5version1(SYSV),staticallylinked,BuildID[sha1]=72fa59dfe03270faca9929d6658cb67379ad546d,withdebug_info,notstripped //6.由于是DynamicLink,所以需要发送glib库到板子上, hdc_std-t192.168.137.105:10178filesend/{gcc的路径}/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/arm-linux-gnueabi/libc/lib/ld-2.21.so/data/local/tmp hdc_std-t192.168.137.105:10178filesend/{gcc的路径}/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabi/arm-linux-gnueabi/libc/lib/libc-2.21.so/data/local/tmp //7.发送valgrind到板子上,并发送memcheck-arm-linux到板子,放到/bin/lib/valgrind目录,如没有需要自己建目录,这样valgrind就能用了
WuKong 命令
简介:OpenHarmony 稳定性测试自动化工具,通过模拟用户行为,对 OpenHarmony 系统及应用进行稳定性压力测试。
约束条件:WuKong 在 OS3.2 系统版本后开始预置使用;OH3.1 需要自己手动编译,命令为:
./build.sh--product-namerk3568--build-targetwukong编译后发到板子上运行:
wukongexec-s10-i1000-a0.28-t0.72-c100对应命令解释:
Top 命令
实时查看 linux 进程运行情况的命令:
第一行:进程统计,238 个进程,一个正在执行(R,top),237 个休眠的
第二行:CPU 信息,4 核(400%),5% 用户层在用,9% 系统层在用
第三行:具体显示每个进程信息
包括:
PID:进程号
USER:进程持有用户
PR:进程优先级,数值越小优先级越高
NI:进程 Nice 值,用作优先级的修正值
VIRT:进程使用的虚拟内存
RES:进程常驻内存
SHR:进程使用的共享内存
S:进程状态:S,sleep;R,running;I,idle;
%MEM:进程使用的内存占用比
TIME+:进程占用的 CPU 总时长
ARGS:进程名
Tasks:238total,1running,237sleeping,0stopped,0zombie Mem:2011776Ktotal,1169240Kused,842536Kfree,39624704buffers Swap:1048572Ktotal,337664Kused,710908Kfree,316444Kcached 400%cpu5%user0%nice9%sys386%idle0%iow0%irq0%sirq0%host PIDUSERPRNIVIRTRESSHRS[%CPU]%MEMTIME+ARGS 512system-3-8120M32M31MS5.61.647:09.18render_service 32337root2005.7M3.3M2.7MR4.30.10:02.96top 459dsoftbus2003.9G184M32MS2.69.313:11.60softbus_server 444hidumper_se+20013M6.2M6.0MS2.60.312:53.76hidumper_servic 480wifi2005.5M2.2M2.2MS1.60.115:57.09wifi_hal_service 1548100075-15649M122M94MS0.66.21:57.38com.ohos.screenlock 31536root200000I0.30.01:12.82[kworker/0:0-events_freezable] 2090200100155-15637M132M84MS0.36.71:06.40com.ohos.settings 2049200100350-20643M122M77MS0.36.21:01.51ohos.samples.bttest 1532100040-20519M29M27MS0.31.40:31.95com.ohos.mms 1483100050-20516M26M24MS0.31.30:33.25com.ohos.settingsdata 436wifi20017M9.0M9.0MS0.30.40:12.66wifi_manager_se 233logd2007.4M4.0M2.2MS0.30.23:12.76hilogd 32338root0-20000I0.00.00:00.00[kworker/0:0H-mmc_complete] 32336root2005.4M2.4M2.1MS0.00.10:00.05sh- 32335root0-20000I0.00.00:00.00[kworker/3:1H] 32331root0-20000I0.00.00:00.00[kworker/2:1H] 32327root2005.4M3.1M2.8MS0.00.10:00.06sh- 32306rootRT0000S0.00.00:00.01[irq/93-dwc3] 32302root200137M3.9M3.4MS0.00.10:00.19hdcd
Pmap命令
通过 Top 命令,我们发现 dsoftbus 虚拟内存很大,我们可以使用 Pmap 命令查看具体信息。
#pmap-x431 431:softbus_server AddressKbytesPSSDirtySwapModeMapping 0000d0008000-----[anon30526] 0000f000132880rw---[anon30526] 000300008000-----[anon30525] 00032000132880rw---[anon30525] 000530008000-----[anon30524] 00055000132880rw---[anon30524] 000760008000-----[anon30523] 00078000132880rw---[anon30523] 000990008000-----[anon30522] 0009b000132880rw---[anon30522] 000bc0008000-----[anon30521] 00bd1000132880rw---[anon30440] 00bf20008000r----sa_main 00bf400012000r-x--sa_main 00bf70004004r----sa_main 00bf80004440rw---sa_main 00c020004040400rw---[anonmusl] 01dd20008000-----[anon30309] 01dd4000132880rw---[heap] 01df500016603723641288rw---[heap] 01f9b0008000-----[anon30308]
Strace 命令
源码下载:
wgethttps://strace.io/files/5.18/strace-5.18.tar.xz
交叉编译:
mkdirbuild cdbuild ../configureCC="/home/wshi/workspace/master-1014/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc"CXX="/home/wshi/workspace/master-1014/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/bin/arm-linux-gnueabi-g++"--target=arm-linux-gnueabi--host=arm-linux-gnueabi
运行:
strace-f-t-p431-otrace.strace
Meminfo
运行:
#cat/proc/meminfo MemTotal:2010244kB MemFree:1158060kB MemAvailable:1412556kB Buffers:1384kB Cached:291748kB SwapCached:0kB Active:41976kB Inactive:525356kB Active(anon):372kB Inactive(anon):311204kB Active(file):41604kB Inactive(file):214152kB Active(purg):0kB Inactive(purg):0kB Pined(purg):0kB Unevictable:37224kB Mlocked:0kB SwapTotal:1048572kB SwapFree:1048572kB Dirty:20kB Writeback:0kB AnonPages:311424kB Mapped:210128kB Shmem:37436kB KReclaimable:39700kB Slab:100004kB SReclaimable:39700kB SUnreclaim:60304kB KernelStack:17664kB PageTables:7380kB NFS_Unstable:0kB Bounce:0kB WritebackTmp:0kB CommitLimit:2053692kB Committed_AS:5178768kB VmallocTotal:262930368kB VmallocUsed:28216kB VmallocChunk:0kB Percpu:832kB Skb:0kB CmaTotal:16384kB CmaFree:0kB GLTrack:-kB ZspageUsed:12kB识别方法:
审核编辑:汤梓红
-
源码
+关注
关注
8文章
639浏览量
29184 -
命令
+关注
关注
5文章
683浏览量
22011 -
工具
+关注
关注
4文章
311浏览量
27770 -
OpenHarmony
+关注
关注
25文章
3713浏览量
16251
原文标题:OpenHarmony常用工具汇总
文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony技术社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论