linux 代码分析工具 gprof - 以wpa_supplicant为例
编译wpa_supplicant

- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ make
- Building wpa_supplicant requires a configuration file
- (.config).See README for more instructions.You can
- run "cp defconfig .config" to create an example
- configuration.
- make:***[verify_config]Error1
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ make
- ../src/drivers/driver_nl80211.c::: fatal error: netlink/genl/genl.h:No such file or directory
- sudo apt-get install libnl-dev
驱动网卡


- uname -a
- Linux tan-VirtualBox3.13.0--generic#~precise1-Ubuntu SMP Tue Jul :: UTC i686 i686 i386 GNU/Linux
- uname -a
https://github.com/lwfinger/rtl8188eu

使用wpa_supplicant
- tan@tan-VirtualBox:~/Downloads/rtl8188eu-master$ ps -aux | grep wpa
- Warning: bad ps syntax, perhaps a bogus '-'?See http://procps.sf.net/faq.html
- root 135900.00.?Ss22::/sbin/wpa_supplicant -B -P /run/sendsigs.omit.d/wpasupplicant.pid -u -s -O /var/run/wpa_supplicant
强行干掉:
- tan@tan-VirtualBox:~/Downloads/rtl8188eu-master$ ps -aux | grep wpa
- sudo killall wpa_supplicant
- sudo ifconfig wlan0 up
ctrl_interface=/var/run/wpa_supplicant
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo wpa_supplicant -Dwext-iwlan0 -c./basic.conf
最后使用wpa_cli扫描一下:
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_cli scan
- Selected interface 'wlan0'
- OK
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_cli scan_r
- Selected interface 'wlan0'
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_cli scan
使用带gprof的wpa_supplicant
https://sourceware.org/binutils/docs-2.16/gprof/
- ifndef CFLAGS
- #CFLAGS = -MMD -O2 -Wall -g
- CFLAGS =-pg -O0 -g
- LDFLAGS =-pg -O0 -g
- endif
- ifndef CFLAGS
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_supplicant -Dwext-iwlan0 -c./basic.conf
- gprof ./wpa_supplicant > test.txt

-----------------------------------------------
0.000.0014/14 wpa_bss_update_scan_res [55]
[47]0.00.000.0014 wpa_bss_add [47]
0.000.0028/28 dl_list_add_tail [23]
0.000.0014/68 os_zalloc [10]
0.000.0014/14 wpa_bss_copy_res [49]
0.000.0014/14 wpa_bss_set_hessid [53]
0.000.0014/28 wpa_ssid_txt [30]
0.000.0014/53 wpa_msg [15]
0.000.0014/14 wpas_notify_bss_added [62]
-----------------------------------------------
生成gprof调用图
- tan@tan-VirtualBox:~/gprof$ git clone https://github.com/jrfonseca/gprof2dot
- sudo apt-get install graphviz
- tan@tan-VirtualBox:~/gprof$ git clone https://github.com/jrfonseca/gprof2dot
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ cat test.txt |../../gprof2dot/gprof2dot.py | dot -Tpng-o test.png

- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ cat test.txt |../../gprof2dot/gprof2dot.py -n0 -e0| dot -Tpng-o test_full.png


- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_cli scan
- [sudo] password for tan:
- Selected interface 'wlan0'
- OK
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_cli scan_r
- gprof ./wpa_supplicant |../../gprof2dot/gprof2dot.py -n0 -e0| dot -Tpng-o test_full.png
- tan@tan-VirtualBox:~/gprof/wpa_supplicant-2.5/wpa_supplicant$ sudo ./wpa_cli scan

linux 代码分析工具 gprof - 以wpa_supplicant为例的更多相关文章
- 性能分析工具gprof介绍(转载)
性能分析工具gprof介绍Ver:1.0 目录1. GPROF介绍 42. 使用步骤 43. 使用举例 43.1 测试环境 43.2 测试代码 43.3 数据分析 53.3.1 flat profil ...
- (转)超全整理!Linux性能分析工具汇总合集
超全整理!Linux性能分析工具汇总合集 原文:http://rdc.hundsun.com/portal/article/731.html 出于对Linux操作系统的兴趣,以及对底层知识的强烈欲望, ...
- Android代码分析工具lint学习
1 lint简介 1.1 概述 lint是随Android SDK自带的一个静态代码分析工具.它用来对Android工程的源文件进行检查,找出在正确性.安全.性能.可使用性.可访问性及国际化等方面可能 ...
- 常用 Java 静态代码分析工具的分析与比较
常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...
- C++静态代码分析工具推荐——PVS-Studio
长假归来,最近一直没更新,节前本来就想写这篇了,一直到今天才有时间. 关于静态代码分析在维基百科上可以查到很详细的介绍:https://en.wikipedia.org/wiki/List_of_to ...
- 来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:来试试这个来自静态代码分析工具PVS Studio提供C++的小测验吧.
- Cppcheck 1.54 C/C++静态代码分析工具
Cppcheck是一个C/C++代码分析工具,只检测那些编译器通常无法检测到的bug类型. 官方上建议让编译器提供尽量多的警告提示:1.使用Visual C++的话,应使用警告等级4 2.使用GC ...
- 阅读代码分析工具Understand 2.0试用
Understand 2.0是一款源码阅读分析软件,功能强大.试用过一段时间后,感觉相当不错,确实能够大大提高代码阅读效率. 因为Understand功能十分强大,本文不可能详尽地介绍它的全部功能,所 ...
- [转载] 常用 Java 静态代码分析工具的分析与比较
转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...
随机推荐
- Linux(Centos)之安装Redis及注意事项
1.redis简单说明 a.在前面我简单的说过redis封装成共用类的实现,地址如下:http://www.cnblogs.com/hanyinglong/p/Redis.html. b.redis是 ...
- js事件委托
什么是事件委托:通俗的讲,onclick,onmouseover,onmouseout,等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做,完成这个事件. 也 ...
- 推荐15款制作 SVG 动画的 JavaScript 库
在当今时代,SVG是最流行的和正在被众多的设计人员和开发人员使用,创建支持视网膜和响应式的网页设计.绘制SVG不是一个艰巨的任务,因为大量的 JavaScript 库可与 SVG 图像搭配使用.这些J ...
- kmdjs指令大全
调试 通过下面方式,可以输出kmdjs声称的类: <script src="../dist/kmd.js?debug" data-main="js/main&quo ...
- 关于如何在Android、Java等非微软平台上建立高信任的SharePoint应用程序
关于如何在非微软平台上建立高信任的SharePoint应用程序 原文 :http://blogs.msdn.com/b/kaevans/archive/2014/07/14/high-trust-sh ...
- 用SourceTree合并工程冲突,工程打不开时的操作
1.右键工程 --> 显示包内容 2.打开project.pbxproj文件 3.command + F :搜索“<<<<<” 或“>>>> ...
- UIWebView加载本地html文件
UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(, , KScreenWidth, KScreenHeight-)]; ...
- SDWebImage原理及使用(转)
转自http://www.cnblogs.com/jys509/p/5199997.html SDWebImage托管在github上.https://github.com/rs/SDWebImage ...
- [Java编程思想-学习笔记]第2章 一切都是对象
2.1 创建新的数据类型:类 通过第一章掌握了面向对象的理论后,我们知道每个对象必定属于一个类型,那么Java如何创建新的数据类型?如下程序所示: class Circle { // 属性 // 方 ...
- linux 学习随笔-压缩和解压缩
.gz 由gzip压缩工具压缩的文件 .bz2 由bzip2压缩工具压缩的文件 .tar 由tar打包程序打包的文件 .tar.gz 先由tar打包,gzip压缩 .tar.bz2 先由tar打包,b ...