Browsed by
分类: 编程工具

高科技:GDB回溯调试

高科技:GDB回溯调试

也许大家知道,GDB 版本7.0 (2009年9月release) 会是第一次开始支持Reversable Debugging (回溯调式技术),这是一种可以让在debug程序时当我们运行单步调试或是运行到断点时,可以以逆向执行程序的一种技术。(这是GNU的新闻链接

下面是GDB7.0版本所支持的回溯调试的命令,其中包括,continue,step,以及调试方向的设置。

  • reverse-continue (‘rc’) — 继续程序运行到断点,但是是逆向运行程序。
  • reverse-finish — 逆向运行程序直到跳出本层函数。
  • reverse-next (‘rn’) — 语句单步向后跟踪程序。
  • reverse-nexti (‘rni’) — 指令单步向后一条指令。
  • reverse-step (‘rs’) — 向后执行一条语句,单步进入。
  • reverse-stepi — 向后执行一条指令,单步进入。
  • set exec-direction (forward/reverse) — 设置程序执行方向,向前或向后。
  • 阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (11 人打了分,平均分: 3.64 )
    Loading...
    编译vim解决中文支持

    编译vim解决中文支持

    最近开始抛弃Ubuntu折腾CentOS 5.3(注:无意挑起OS之争),每当换一个OS,第一个配置的就是VIM。

    介于以前在MacOSX的编译经验,直接三部曲

    ./configue && sudo make && sudo make install

    解决的问题。  但在CentOS之后发现无论如何都不支持中文。

    通过文档的翻阅和google的搜索,发现了问题出现在编译上。vim支持中文需要2个基本feature:multi_byte和iconv。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 3.00 )
    Loading...
    如何调试bash脚本

    如何调试bash脚本

    如何调试Bash脚本Bash 是Linux操作系统的默认Shell脚本。Shell是用来处理操作系统和用户交互的一个程序。Shell的脚本可以帮助用户自动化地和操作系统进行交互。你也可以理解为一种脚本式的编程。即然有编程,那么,程序的编译器,解释器,调试器就必不可少了,Bash也一样,但在调试方面可能会有一些和编程语言不一样的东西和技术,所以,下面这篇文章主要是说明调试bash脚本的各种技术。

    跟踪脚本的执行

    你可以让bash打印出你脚本执行的过程中的所有语句。这很简单,只需要使用bash的-x选项就可以做到,下面让我们来看一下。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 3.79 )
    Loading...
    在线代码编译服务Codepad.org

    在线代码编译服务Codepad.org

    Codepad.org是一个很有意思的网站,它的主页很简单,左边是可以编译并执行的程序语言,右边则是让你输入程序的输入框,输入框的下面是一个“Run Code”的复选钮和一个“Submit”的提交按钮。

    其操作起来也非常简单,先选中你要编译并运行的程序语言,然后在输入框中粘贴或输入程序的原代码,然后,点击提交,你就可以看么你程序编译出错的提示,或是执行的结果。

    也许,你会觉得很无聊天,但我觉得这在某些时候会非常有用,尤其是你找不到编译器而又想验证一段代码的时候,这种时候还是比较多的。特别是我们很难有一台可以运行所有语言的电脑,如果有的话,那一定是你自己的个人电脑,当你不使用你自己的电脑时,你就会着急了。而且,我觉得这项服务非常地有意思,因为,这样一来,你甚至可以在你的手机上写任何语言的程序了。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (8 人打了分,平均分: 3.88 )
    Loading...
    Javascripts加密库

    Javascripts加密库

    一般说来,使用HTTP协议是不加密的,所有的数据都是以纯文本方式提交的,就算是你提交数据时,也是使用纯文本的方式发送。只有HTTPS协议会有SSL加密数据,但一般来说,HTTPS需要服务器端进行SSL设置,并有些麻烦。而jCryption这个jQuery插件能够加密由Forms提交的POST/GET数据。jCryption使用RSA公钥密码算法加密,另外,该项目还提供一个PHP文件来处理数据的解密。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 2.00 )
    Loading...
    简单实用的Code Review工具

    简单实用的Code Review工具

    Code Review中文应该译作“代码审查”或是“代码评审”,这是一个流程,当开发人员写好代码后,需要让别人来review一下他的代码,这是一种有效发现BUG的方法。由此,我们可以审查代码的风格、逻辑、思路……,找出问题,以及改进代码。因为这是代码刚刚出炉的时候,所以,这也是代码重构,代码调整,代码修改的最佳时候。所以,Code Review是编码实现中最最重要的一个环节。

    长时间以来,Code Review需要有一些有效的工具来支持,这样我们就可以更容易,更有效率地来进行代码审查工作。下面是5个开源的代码审查工具,他们可以帮助你更容易地进行这项活动。

    1. Review board:
    Review board 是一个 基于web 的工具,是由 djangopython设计的。 Review board 可以帮助我们追踪待决代码的改动,并可以让Code-Review更为容易和简练。尽管Review board 最初被设计在VMware项目中使用,但现在其足够地通用。当前,其支持这些代码版本管理软件: SVN, CVS, Perforce, Git, Bazaar, 和Mercurial.

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.29 )
    Loading...
    《Vim Recipes》免费的Vim Cookbook

    《Vim Recipes》免费的Vim Cookbook

    当今最流行的文本编辑器是什么,如果我的回答是vim应该不算过份吧。

    http://vim.runpaint.org/ 你可以获得一本关于vim的cookbook 《Vim Recipes》

    如果你非常喜欢vim编辑器,千万不要错过这本书,使用这本书,你将会发现你在vim遇到问题都可以迎刃而解。

    此书还在更新过程中,更多内容请关注http://vim.runpaint.org/

    好烂啊有点差凑合看看还不错很精彩 (10 人打了分,平均分: 3.60 )
    Loading...
    将vim变得简单:如何在vim中得到你最喜爱的IDE特性

    将vim变得简单:如何在vim中得到你最喜爱的IDE特性

    原文出处:这里

    摘要:
    开源的vim文本编辑器提供许多灵活而强大的功能,但是vim自身是很难被配置使用的,在本教材中,我们将向你显示通过几个简单的方式使得你的vim具有集成开发环境IDE的行为

    vim是很多程序员和系统管理员最爱的文本编辑器,虽然他提供了很多优秀而灵活的功能,但是对于新手来说他依然是难于上手的。从传统集成开发环境转到vim的开发人员通常会开在发方式的转变中发现迷失了自己。

    我经常收到来自于读者的邮件,他们希望能找到一种方式使得vim变得对开发者更友好。一个常见的抱怨是vim并不是自身就带有IDE的特性,并且如何来通过配置能得到等价IDE功能也不是很清晰。而揭开vim真正神奇的秘密就是利用强大的vim插件系统和对vim自身功能的改善和增强的第三方脚本。在阅你读本文之前,我已经整理好了一个vim的有用tips和插件列表,这些列表中的内容将会使那些用惯IDE功能的人们在vim上感到宾至如归的感觉。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (20 人打了分,平均分: 4.00 )
    Loading...
    用TCC可以干些什么?

    用TCC可以干些什么?

    Tiny C Compiler 是一个微型的 C 语言编译器,支持 Windows 和 Linux 平台。其项目主页是: http://bellard.org/tcc/ 。你可以使用这个不到100K的编译器编译你的C文件,其支持C的预处理,编译,机器码汇编和链接。编译速度也超过了gcc,而且它支持ISO C99标准,并且,tcc还包括了一些内存和数组边界的检查。其还可以编译Linux的内核。

    不过,TCC 最有趣的特性是可以用 UNIX 系统上常见的 #!/usr/bin/tcc 的方式来执行 ANSI C 语言写就的源程序,省略掉了在命令行上进行编译和链接的步骤,而可以直接运行 C 语言写就的源程序。这样就能做到像任何一种其它的脚本语言比如 Perl 或者是 Python 一样,显著的加快开发步调。可以像编写 Shell 脚本一样的使用 C 语言,随便想一想都觉得是一件奇妙的事情。但是 TCC 还有一些其它的特性呢!

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (6 人打了分,平均分: 3.00 )
    Loading...