系统调试
文章平均质量分 88
老杨的码农生活
热衷于Android系统分析,专注于tcp/ip协议,钻研linux Kernel,关注网络安全。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux性能工具速查
我们可以从系统和应用程序两个角度,来进行性能优化。从系统的角度来说,主要是对 CPU、内存、网络、磁盘 I/O 以及内核软件资源等进行优化。而从应用程序的角度来说,主要是简化代码、降低 CPU 使用、减少网络请求和磁盘 I/O,并借助缓存、异步处理、多进程和多线程等,提高应用程序的吞吐能力。性能优化最好逐步完善,动态进行;不要追求一步到位,而要首先保证能满足当前的性能要求;性能优化通常意味着复杂度的提升,也意味着可维护性的降低。如果你发现单机的性能调优带来过高复杂度,一定不要沉迷于单...原创 2022-01-20 20:43:33 · 214 阅读 · 0 评论 -
探索性测试揭秘
最近看了不少有关探索性测试的讨论和观点,老实说越看越糊涂。所以忍不住吐槽一下,在这里和大家讨论一下探索性测试。希望对于想学习和尝试探索性测试的朋友有所帮助澄清,或者是更加糊涂,^_^。探索性测试有很多很多的定义:百度百科的定义:“同时设计测试和执行测试”。 嗯。。什么意思?Cem 老人家的正式定义:“a style of software testing that e...转载 2019-05-14 09:35:46 · 1853 阅读 · 0 评论 -
vim使用技巧
1.注释掉多行 ctrl+v 进入列模式,向下或向上移动光标,把需要注释的行的开头标记起来,然后按大写的I,再插入注释符,比如#,再按Esc,就会全部注释。或者也可以运行下面这些命令::s/^/# 用"#"注释当前行:2,50s/^/# 在2~50行首添加"#"注释:.,+3s/^/# ...原创 2019-04-03 13:50:31 · 463 阅读 · 0 评论 -
wireshark关于lua插件的定位
最近项目开发需要,数据转发组同事写了一个lua插件,来解析mac in mac的内部协议上送的报文,在老的wireshark中使用是没有问题的,但是在新的wireshark版本中,解析到内层mac时就挂,看了下lua脚本,定位出是二层mac解析出错,下载了最新wireshark版本的源代码,对比了源代码中的lua插件的接口api,发现外层mac解析时是需要进行Ethernet的fc...原创 2019-04-09 11:10:32 · 1653 阅读 · 0 评论 -
portal协议的lua插件
因为项目协议的需要,我们需要实现私有的portal协议,在调试抓包分析过程中,因为wireshark是不支持portal协议的,不过wireshark有一个好处,就是支持lua脚本插件来实现扩展协议的识别,于是自己动手,丰衣足食,加油! lua脚本如下:--[[ code--]] do --[[ 创建一个新的协议结构 porta...原创 2019-04-03 10:18:15 · 1922 阅读 · 0 评论 -
python脚本工具自动拷贝文件到多个目标机器
最近由于测试CU分离,涉及到多个虚机环境的文件的拷贝、程序脚本的执行,所以写了如下python脚本来自动化执行;#!/usr/bin/python# -*- coding: utf-8 -*-import os, sys, time, getoptimport pexpectimport commandsimport shleximport subprocessimp...原创 2019-04-03 10:13:03 · 915 阅读 · 0 评论 -
函数没有申明引发的血案
两个 a.c b.c, a.c里实现了一个函数 void **malloc2d()返回一个void型的二级指针,然后b.c里会调用这个malloc2d的函数,但是在调试的时候始终得不到正确的值,遂用gdb进行调试一番,发现在调用malloc2d过后,rax寄存器的值发生了变化,高32位被截取为0了,我靠,这还了得,猜想会不会是哪把我这个内存给采掉了,我X,百思不得其解。于是乎...原创 2019-04-03 10:07:31 · 379 阅读 · 0 评论 -
C语言编写宏定义时遇到的编译问题
我们在项目开发编码的时候,定义宏后编译会报错如下:backslash and newline separated by space [-Werror],后来经过google搜索,发现是宏定义的“\”连接符后面多了多余的空格,去掉后编译错误消除。#define desay_debug(_string,myValue) \ do{\ c_snprin...原创 2019-04-08 14:52:32 · 2362 阅读 · 0 评论 -
Linux下ctrl 常用组合键
Ctrl+c 结束正在运行的程序Ctrl+d 结束输入或退出shellCtrl+s 暂停屏幕输出【锁住终端】Ctrl+q 恢复屏幕输出【解锁终端】Ctrl+l 清屏,【是字母L的小写】等同于ClearCtrl+a 切换到命令行开始Ctrl+e 切换到命令行末尾Ctrl+u 清除剪切光标之前的内容Ctrl+k 清除剪切光...原创 2019-04-08 14:29:16 · 1778 阅读 · 0 评论 -
__attribute__属性之constructor/destructor
GNU C的一大特色就是__attribute__机制,__attribute__可以设置函数属性、变量属性和类型属性。其位置约束放在申明的尾部“;”之前;书写特征为前后两个下划线,后面紧跟一对原括弧,里面是相应的__attribute__参数。__attribute__ constructor/destructor 若函数被设定为constructor属性,则该函数会在...原创 2019-04-04 09:59:00 · 360 阅读 · 0 评论 -
git使用技巧汇总
git log 查看commit的历史git show <commit-hash-id>查看某次commit的修改内容git log -p <filename>查看某个文件的修改历史git log -p -2查看最近2次的更新内容git merge和rebase的区别git merge 会生成一个新的合并节点,而rebase不会比如: 1...原创 2019-04-04 08:46:25 · 218 阅读 · 0 评论
分享