专题 20 常用调试技术
1.gdb调试
[unfinished]
2.strace命令
使用很多系统调用的程序常常难以查找错误,因为控制权被传递给内核以便处理系统调用。可以使用strace程序,它是跟踪使用了什么系统调用以及系统调用的结果的一种方法。
strace程序截取程序发出的系统调用并且显示它们以供查看。被跟踪的程序可以是从strace命令运行的,也可以是系统上已经运行的进程。通常只需使用strace程序默认选项生成关于程序的必要信息即可:
[fuyajun@localhostwork]$strace./hello
execve("./hello",["./hello"],[/*36vars*/])=0
write(1,"Hello,world!\n",14Hello,world!
)=14
_exit(0)命令行参数-c在程序执行之后创建一个报告,概述发出的所有系统调用,以及每个系统调用花费了多长时间。
[fuyajun@localhostwork]$strace-c./hello
Hello,world!
%timesecondsusecs/callcallserrorssyscall
--------------------------------------------------------------
100.000.0006426421execve
0.000.00000001write
--------------------------------------------------------------
100.000.0006422total
高级strace参数:
-e参数可以用于只显示系统调用的子集,而不是查看全部。
strace–e trace=call_list,其中,call_list是以逗号分隔的希望跟踪的系统调用的清单。
附加到正在运行的程序:
strace–p 3456
转载于:https://my.oschina.net/fuyajun1983cn/blog/263927
专题 20 常用调试技术相关推荐
- [转载]Android开发常用调试技术记录
ANDROID 调试技术: 1)Ps 指令 ls –l /proc/27/ cat /proc/27/cmdline #cmdline文件表示了这个进程所在的命令行. cat /proc/ ...
- android开发常用技术,[转载]Android开发常用调试技术记录
ANDROID 调试技术: 1)Ps 指令 ls –l /proc/27/ cat /proc/27/cmdline #cmdline文件表示了这个进程所在的命令行. cat /proc/ ...
- PHP断点调试技术(Xdebug)-李明-专题视频课程
PHP断点调试技术(Xdebug)-497人已学习 课程介绍 断点调试是开发过程中的常用技术,本套课程会讲解使用编辑器结合Xdebug调试本地.局域网.公网的PHP项目.同时讲解了使用 ...
- Linux调试技术介绍
对于任何编写内核代码的人来说,最吸引他们注意的问题之一就是如何完成调试.由于内核是一个不与某个进程相关的功能集,其代码不能很轻松地放在调试器中执行,而且也不能跟踪. 本章介绍你可以用来监视内核代码和跟 ...
- linux内核调试技术 kprobe使用与实现
Linux kprobes调试技术是内核开发者们专门为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术.利用kprobes技术,内核开发人员可以在内核的绝大多数指定函数中动态的插入探测点来收集 ...
- 应用程序调试技术(更新程度:完毕)送源码及PPT
课程简介 调试技术实务分为调试基本概念和设置,Windows下常用到调试工具VS和Windbg的使用,自动化调试技术,以及实际调试场景示例等.不仅仅是介绍枯燥的程序调试技术,而是深入的从操作系统实现以 ...
- php面试专题---MySQL常用SQL语句优化
php面试专题---MySQL常用SQL语句优化 一.总结 一句话总结: 原理,万变不离其宗:其实SQL语句优化的过程中,无非就是对mysql的执行计划理解,以及B+树索引的理解,其实只要我们理解执行 ...
- Linux内核调试技术指南
前两天,完成了ucos在2440上的移植,以及boot的修改.今天突然想到,我在linux下,该如何来编写,调试比较复杂的驱动.我想这个问题应该从如何调试内核入手,先转载两个文字,待西西看来. 系统搭 ...
- Android 进阶笔记,包含常用的技术框架、博客社区、书籍等。
AndroidNote 项目地址:venshine/AndroidNote 简介:Android 进阶笔记,包含常用的技术框架.博客社区.书籍等. 大纲 技术框架 图片加载 网络请求 数据库 ORM ...
最新文章
- 第7章 PCA与梯度上升法
- android attrs获取_Android 常用侧滑栏实现
- Android app native代码性能分析
- Java程序创建Kafka Topic,以及数据生产消费,常用的命令
- mysql 索引及索引创建原则
- 通过kubeadm安装kubernetes 1.13.2
- vue-i18n使用ES6语法以及空格换行问题
- 链接数据库 远程事务的处理方式
- 小学计算机第一册下教案,广东省小学信息技术第一册(下)全册教案
- 行测题中逻辑判断题的规律
- 在线免费服务器,免费web服务器Tomcat
- edp协议 netty_使用esp8266 arduino 通过EDP协议 将数据传递到onenet平台
- 大数据可视化大屏展示
- Excel技能之查找筛选排序,同事竖起大拇指
- 【考研经验】2018跨考北京大学软件工程401分经验分享
- NLP领域的最新研究进展
- android和ios系统的内存,为什么说IOS系统的2G运存相当于安卓手机的8G运存
- php redis 唯一id,PHP + Redis 实现一个简单的twitter
- mysql逻辑结构博客_mysql梳理2
- Python实现逐步回归