建设网站网上银行登录泉州网站搭建
2026/4/18 7:24:11 网站建设 项目流程
建设网站网上银行登录,泉州网站搭建,小程序免费开发,禁用软件app大全一、背景 底层调试过程中#xff0c;有不少好用但是由于也不是那么常用或者用得不少次数但是参数过多不方便形成长期记忆#xff0c;而要每次用每次都要从弹药库里翻找#xff0c;造成了时间上的浪费。这里做一些不同场景下调试性能稳定性问题会用到的一些常用的不容易记住…一、背景底层调试过程中有不少好用但是由于也不是那么常用或者用得不少次数但是参数过多不方便形成长期记忆而要每次用每次都要从弹药库里翻找造成了时间上的浪费。这里做一些不同场景下调试性能稳定性问题会用到的一些常用的不容易记住的命令方便后面查找。二、objdump出某个内核函数对应的elf在不开内核地址随机化的系统上可以先到编译生成目录里去找符号对应的映射的文件System.map比如如下图从System.map里找到我们要看的下图里的do_exit的offset是0xec的内核代码的位置是在做什么从System.map里找到do_exit函数如下图的地址如上图do_exit函数的起始地址是ffff80000809af80结束地址是ffff80000809b920。然后再通过下面的命令objdump去解析出对应函数的elf文件aarch64-linux-gnu-objdump -S vmlinux --start-address0xffff80000809af80 --stop-address0xffff80000809b920 vmlinux_do_exit.txt三、ps命令查看指定进程的各个线程的运行情况如下命令可以抓取指定进程的里面所有线程的线程id、线程名、实时优先级、nice值、上一次运行所在的cpu、线程的cpu平均使用率、如果是陷入内核的系统调用的函数名这些基础的信息ps -L -o pid,tid,comm,rtprio,nice,psr,%cpu,state,stat,wchan -p 75437自行替换上面命令里的-p后面的进程id的数字。3.1 如果是搜索所有进程如果是搜索全局范围的线程则上面的命名的后面-p pid的筛选就不需要了另外需要带上-e即ps -L -eo pid,tid,comm,rtprio,nice,psr,%cpu,state,stat,wchan四、grep命令、sort命令的使用、watch命令4.1 grep带-E结合正则表达式如.及-B-A参数及-v参数grep命令我用得非常多常用的参数是-E表示使用正则表达式正则表达式里.*表示任意个字符包括0个字符这个可能很多人都知道而.这个可能用的人不多但是有时候非常有用比如要表示一对[]里有字符那么用grep来实现搜索遍历出带有[]且[]里有字符的行并显示这一行临近的前3行后5行的内容的脚本grep -B3 -A5 -E \[.\]上面的B表示beforeA表示after.表示有字符不是空注意[和]都是特殊字符需要在前面加\。如果要取反的匹配则带上-v参数即可如要剔除掉所有包含[]且[]里有字符的所有的行过滤出剩下的行如下命令grep -B3 -A5 -vE \[.\]另外正则表达式可以使用括号来与|来进行配合()包裹了一段正则表达式这样可以结合|来使用比如匹配开头是abc或者cde结尾是123或者234的行temp.txt的内容abc abc 222 456 123 abc dsfdsfsfsd 234 cde dfdfd 123 333 cde 123 555使用下面的命令cat temp.txt | grep -E ^(abc|cde).*(123|234)$输出结果.*表示任意字符串可以是空^表示开头$表示结尾4.2 sort命令-k1 -nr及自定义分隔符结合head和tail命令常用的sort用k加一个数字比如1表示第一个段落默认的分割符是空格或制表符但是可以设置自定义的分割符。-n表示用数字来理解段落来进行排序-r表示由大的数字到小的数字进行排序。如搜索系统里所有的线程的实时优先级按照由高到低排序显示前10个ps -L -eo rtprio,pid,tid,comm | sort -k1 -nr | head -n 10tail也是可以用-n 行数这么来显示另外tail -f可以用来读取持续变大的文件。sort命令指定自定义的分割符比如指定[]分隔符过滤出下面的temp.txt里的最后一个数字再进行排序的命令temp.txt的内容[3][Dexceed] cpu[14]desc[Dexceed]dtimens[22550600] [4][Dexceed] cpu[4]desc[Dexceed]dtimens[42391850] [5][Dexceed] cpu[8]desc[Dexceed]dtimens[22864425]命令sort -t [ -k6,6nr temp.txt排序后的结果因为指定了[作为分隔符找到了第6个字段就是最后包含]的这个字段因为用了-n所以识别成数字也就把后面的]给过滤掉了所以就可以按数字排序了。4.3 watch命令watch命令太有用了我经常用它来持续观察一些感兴趣的状态watch可以设置的最小间隔是0.1秒也是足够可以观察到一些细节变化了。watch -n 0.1之后后面的命令不能tab出来所以我一般是先把后面的命令tab联想敲完之后再前后补一个后再加watch -n 0.1在开头。五、du命令、wc命令、truncate命令du -sh可能大家知道得比较多但是是看不到隐藏文件的之前一篇博客讲到了一个vscode的占很大的空间的问题 vscode的缓存文件夹及查看进程读写的文件看隐藏文件得用下面的命令du -sh ./* .[^.]* | sort -hr这里再做一下记录。wc命令我用得比较多的就是wc -l来查看行数常用于搜索出来的内容看有多少行再用别的匹配方式来去搜索看搜索出来是多少行这么去比较看是否一致或者有大小关系来推断一些如调用栈是否调用函数A的调用者是否都是函数B。wc还可以带-m去数字符数-c去数字节数truncate命令主要有两种用途一种是扩大文件先固定占住一定的磁盘空间一种是裁剪掉一些系统上的日志文件来节省空间。用truncate来去裁剪日志文件日志文件还在不影响日志的继续存储。truncate改变文件大小的命令truncate -s 0 temp.txt效果如下

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询