工具
p.c.wang
这个作者很懒,什么都没留下…
展开
-
linux下svn命令使用大全
1、将文件checkout到本地目录 svn checkout path(path是服务器 上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件 svn add file例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下所有转载 2014-12-01 13:39:13 · 685 阅读 · 0 评论 -
gdb调试之重要命令
一、GDB改变程序的执行一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。修改变量值修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的print命令即可完成。如: (gdb) print原创 2015-04-27 19:06:15 · 785 阅读 · 0 评论 -
gdb调试技巧
使用命令:display 变量名跟踪查看某个变量,每次停下来都显示它的值undisplay 跟踪显示号取消跟踪显示info(或i) breakpoints查看当前设置了哪些断点例如:disable breakpoints 3(gdb) enable 3(gdb) i breakpoints (gdb) delete breakpoints gdb) br原创 2015-05-06 19:45:50 · 916 阅读 · 0 评论 -
gdb调试的简单回顾
1. 查看寄存器(gdb) i r(gdb) i r a # 查看所有寄存器(包括浮点、多媒体)(gdb) i r esp(gdb) i r pc2. 查看内存(gdb) x /wx 0x80040000 # 以16进制显示指定地址处的数据(gdb) x /8x $esp(gdb) x /16x $esp原创 2015-05-20 10:56:59 · 1172 阅读 · 0 评论 -
调试宏定义
调试宏定义的方法:1:通过gcc -E 产生预编译后的源代码,所有的预编译动作都已完成,如头文件的插入,宏定义的展开example:#include stdlib.h>#include stdio.h>#define MACRO1(x) (++(x))#define MACRO2(x) (MACRO1(x)+100)#define MACRO3(x) (MACRO2(x)+200)i转载 2015-05-20 10:05:45 · 1090 阅读 · 0 评论 -
gdb查看内存区和寄存器i
一、用gdb查看内存格式: x /nfu说明x 是 examine 的缩写n表示要显示的内存单元的个数f表示显示方式, 可取如下值x 按十六进制格式显示变量。d 按十进制格式显示变量。u 按十进制格式显示无符号整型。o 按八进制格式显示变量。t 按二进制格式显示变量。a 按十六进制格式显示变量。i 指令地址格式c 按字符格式显示变量。f 按浮原创 2015-05-20 09:45:34 · 12830 阅读 · 0 评论 -
gdb查看内存地址和栈中的值
gdb查看指定地址的内存地址的值:examine 简写 x-----使用gdb> help x 来查看使用方式 x/ (n,f,u为可选参数) n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义 f:显示格式 x(hex) 按十六进制格式显示变量。 d(decima转载 2015-05-20 10:01:16 · 10298 阅读 · 0 评论 -
linux程序分析工具介绍—ldd,nm
本文要介绍的ldd和nm是linux下,两个用来分析程序很实用的工具。ldd是用来分析程序运行时需要依赖的动态库的工具;nm是用来查看指定程序中的符号表相关内容的工具。下面通过例子,分别来介绍一下这两个工具:1. ldd, 先看下面的例子, 用ldd查看cs程序所依赖的动态库:$ ldd cslinux-gate.so.1 => (0xffffe000)libz.so.1 =>转载 2015-05-28 17:24:37 · 902 阅读 · 0 评论 -
使用emacs
Emacs 启动:直接打emacs, 如果有X-windows就会开视窗. 如果不想用X 的版本,就用 emacs -nw (No windows)起动.上下移动 C-p 向上 (previous line) C-n向下(next line)左右移动 C-f 向右 (forward) C-b 向左 (backward)翻页 下一页 C-v (转载 2015-05-22 10:02:11 · 562 阅读 · 0 评论 -
htop: 比top好用的Linux进程管理监控工具
1. htop简介Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。转载 2015-08-11 09:05:11 · 1578 阅读 · 0 评论 -
端口号扫描工具---nmap
Nmap(Network Mapper)是一款开放源代码的网络探测和安全审核工具。它用于快速扫描一个网络和一台主机开放的端口,还能使用TCP/IP协议栈特征探测远程主机的操作系统类型。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp代理(bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和nul转载 2015-10-23 16:14:57 · 7629 阅读 · 0 评论 -
gdb调试命令
第一部分牛刀小试:启动GDB开始调试GDB中的命令可以分为八类:别名(aliases)、断点(breakpoints)、数据(data)、文件(files)、内部(internals)、隐含(obscure)、运行(running)、栈(stack)、状态(status)、支持(support)、跟踪点(tracepoints)和用户自定义(user-defined)。he转载 2015-04-27 18:52:32 · 862 阅读 · 0 评论 -
常用技术网站
http://sourceforge.net/开源软件开发者进行开发管理的集中式场所,也是全球最大开源软件开发平台和仓库http://www.oschina.net/目前中国最大的开源技术社区http://www.kernel.org/Linux内核官网http://www.linuxeden.com/24小时滚动更新开源资讯http://g转载 2015-04-27 17:00:18 · 525 阅读 · 0 评论 -
emacs快捷键
C = ControlM = Meta = Alt | Esc Del = Backspace RET = Enter没啥好说的了,每个按键都去试验下吧,注意观察所有窗口的变化C = CtrlM = Meta = Alt | EscDel = Backspace基本快捷键(Basic)C-x C-f “find”文件, 即在缓冲区打开/新建一个文件C-x C转载 2014-12-02 11:29:45 · 1414 阅读 · 0 评论 -
emacs编译和调试程序
一、emacs中编译C程序: 输入 M-x compile ,然后输入gcc test.cpp -g -o test 二、emacs中运行C程序:我们在Emacs 中运行它:M-! ~/hello。在小缓冲区中,我的输出是:“hello, world!”三、开启emacs的GDB调试: 我们输入M-x gdb就进入了调试模式啦原创 2015-01-07 10:14:11 · 4140 阅读 · 0 评论 -
emacs使用技巧
快捷键组合:c-x : Ctrl+xm-x: Alt+xC-x C-v 打开一个文件,取代当前缓冲区C-x C-s 保存文件C-x s 保存所有窗口的缓冲C-x C-w 存为新文件M-x goto-line 跳到指定行M-x replace-string ENTER search-string EN转载 2014-12-05 18:41:03 · 1217 阅读 · 0 评论 -
emacs快捷键(3)
一:标记/复制/剪切/粘贴:C+x h 全选C+@ 标记开始M+w 复制区域到kill ring中,但不删除C+w 删除区域C+y 将kill ring 中的内容粘贴到缓冲区C+Del 剪切光标到单词结束M+Del 剪切光标到单词开始C+k 剪切光标到行结尾M+k 剪切光标到句结尾(C+d)/De原创 2014-12-19 10:31:46 · 1028 阅读 · 0 评论 -
GDB 调试经验
1: 对于在应用程序中加入参数进行调试的方法: 直接用 gdb app -p1 -p2 这样进行调试是不行的。 需要像以下这样使用: #gdb app (gdb) r -p1 -p2 或者在运行run命令前使用set args命令: (gdb) set args p1 p2 可以用show args 命令来查看2. 加入断点转载 2015-01-09 15:26:45 · 947 阅读 · 0 评论 -
Linux与arm-linux开发工具
一:arm-linux工具如下:arm-linux-addr2line :把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。 arm-linux-ar 建立、修改、提取归档文件。归档文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。arm-linux-c+转载 2015-01-15 14:00:09 · 1109 阅读 · 0 评论 -
Linux下svn的使用方法
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件svn addfile例如:svn add test.php(添加test.php)svn add *.php(添加当前目录下原创 2015-01-19 11:14:36 · 6637 阅读 · 0 评论 -
binutils工具集,软件开发利器
在binutils工具集中,以下工具是我们在做嵌入式软件开发时需要掌握的:as是汇编编译器,用于将汇编代码转换为目标文件。add2line用户得到程序指令地址所对应的函数,以及函数所在的源文件名和函号;ar用于创建和修改档案文件,以及从档案文件中抽取文件。静态库(.a文件)就是一种档案文件,需要用它生成和管理;ld:链接器;nm:用于列出程序文件中的符号及符号在内存中的(开始)原创 2015-03-07 16:15:44 · 937 阅读 · 0 评论 -
emacs下gdb打印 变量 和 数组 的值
一.程序变量查看文件中某变量的值:file::variablefunction::variable可以通过这种形式指定你所想查看的变量,是哪个文件中的或是哪个函数中的。例如,查看文件f2.c中的全局变量x的值:gdb) p 'f2.c'::x二.查看数组的值有时候,你需要查看一段连续的内存空间的值。比如数组的一段,或是动态分配的数据的大小。你可以使用GDB的“@”操原创 2015-01-08 18:21:19 · 1790 阅读 · 0 评论 -
gdb查看内存地址和栈中的值
gdb查看指定地址的内存地址的值:examine 简写 x-----使用gdb> help x 来查看使用方式 x/ (n,f,u为可选参数) n: 需要显示的内存单元个数,也就是从当前地址向后显示几个内存单元的内容,一个内存单元的大小由后面的u定义 f:显示格式 x(hex) 按十六进制格式显示变量。 d(decima转载 2015-04-27 16:48:22 · 1904 阅读 · 0 评论 -
git diff
本文转自:http://www.ruanyifeng.com/blog/2012/08/how_to_read_diff.htmldiff是Unix系统的一个很重要的工具程序。它用来比较两个文本文件的差异,是代码版本管理的基石之一。你在命令行下,输入: $ diff diff就会告诉你,这两个文件有何差异。它的显示结果不太好懂,下面我就来说明,如何读懂d转载 2017-02-04 11:55:40 · 476 阅读 · 0 评论