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

    好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 4.22 )
    Loading...
    算法和数据结构词典

    算法和数据结构词典

    我们知道,在编程的世界里,主要就是两个事,用一定的算法去处理一定的数据。算法可以理解为业务逻辑流程,而数据自然一定是按某种结构来存放,这就是数据结构。我们知道,数据结构的修改一定会导致算法的修改,我们也知道,数据结构直接关系到了整个程序的繁简性,高效性。而算法则是关系到数据处理的时间、空间性能,以及日后的扩展和维护。这两个东西是计算机科班出生的人或是需要学习编程的人必需要注意的两件头等大事。

    下面这个网站,由 Software and Systems Division, Information Technology Laboratory 创建。

    http://xlinux.nist.gov/dads/

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (12 人打了分,平均分: 5.08 )
    Loading...
    WebTTY!太酷了!

    WebTTY!太酷了!

    这真是一件很Cool的事,在Web上操作Linux,请访问下面这个链接:

    http://19.testape.com/webtty_page.php

    于是你会看到页面中间的红色,一个小操作系统启动了,红色的最下方是一个bash-2.05b#

    试着输入一下命令吧。

    bash-2.05b# uname -a
    Linux (none) 2.6.18 #2 Mon Dec 29 19:47:06 UTC 2008 i686 GNU/Linux

    命令支持的不多,好像只是一个单机版的虚拟机,一但你打开网页时就起动一个。当然,也不排除其完全是假的,因为太简单了,一切都可以fake出来。

    好烂啊有点差凑合看看还不错很精彩 (3 人打了分,平均分: 5.00 )
    Loading...
    Alice梦游UNIX仙境

    Alice梦游UNIX仙境

    本文来源:http://www.pma.caltech.edu/Publications/alice.in.unix.land.html
    (这是一篇1989年的文章)

    Alice 正在在她的显示器上读着一些信息,她开会怀疑所有的事情并不是应该的那样。“程序太大了,而无法适应内存”,她读到。

    “一个很奇怪的事情”,她说,“我所做的也就是在启动我的字处理程序会运行了14个TSR(terminate-and-stay-resident 常驻程序)。所有这些程序需要使用4M的内存,我希望我能使用超过640K以上的内存”。

    就在那个时候,一个小的白色的顾问(一个非常白的顾问)跑过了房间。“哦,我的外套和领带”,他说到,“我要迟到了。并且是每小时150元。”Alice本想对他说点什么,他却跳到了Alice的显示器里并到在操作系统后面消失了。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (4 人打了分,平均分: 4.75 )
    Loading...
    编程真难啊

    编程真难啊

    上周,在Sun的Java论坛上出现了一个这样的帖子,这个贴子的链接如下:
    http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0

    LZ的贴子翻译如下:

    大家好,我是一个Java的新手,我有一个简单的问题:请问我怎么才能反转一个整数的符号啊。比如把-12转成+12。是的,毫无疑问这是个简单的问题,但我弄了一整天我也找不到什么好的方法。非常感谢如果你能告诉我Java有什么方法可以做到这个事,或者告诉我一个正确的方向——比如使用一些数学库或是二进制方法什么的。谢谢!

    这个贴子的沙发给出了答案:

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (58 人打了分,平均分: 4.90 )
    Loading...
    十个Web开发文章和教程

    十个Web开发文章和教程

    下面是十个在2009年8月份里出现的十个非常不错的Web开发方面的文章和教程。推荐给大家,当然,都是英文啦。如果你愿意,欢迎翻译后提交给酷壳

    1)一个简单的Lava 灯式的菜单(使用jQuery完成)

    2)使用jQuery自动生成文章内容的目录。就像是使用Word一样,设置一下标题,然后可以自动生成文章的目录。

    3)使用jQuery为图片创建图片标题和描述。这是一个超Cool的效果,当你的鼠标移到图片上的时候,图片的上下会出现遮覆,上面是标题,下面是描述,相当不错的用户体验,当鼠标移开后,遮覆消失。

    阅读全文 Read More

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

    谁写了Linux

    2009年8月,Linux软件基金会发布了一份叫《Who Writes Linux and Who Supports It》(PDF)的报告。这份报告主要对Linux 2.6.x的开发进行了全方位的统计。看了以后才知道,原来Linux的开发的生产率竟是这样的惊人,而且相当的的令人振奋,所以,在第一时间转过来给大家看看。让人不得不惊叹,这不可思议的具有非凡活力的社区。(注意,我们这里说的是Linux,不是GNU的那些东西,所谓Linux就是Linux的Kernel)

    下面是一个导读,希望每一个看到这篇文章的朋友都能看看原文的报告:《Who Writes Linux and Who Supports It》(PDF)

    这份报告的一开始就对Linux的开发进行了总结:

    • 每2-3个月一个release
    • 最近的每一次release都超过10000个补丁
    • 有超过1000个开发人员进行开发,他们来自200个公司或组织。
    • 自2005年以来,超过5000个来自500个不同公司的开发人员为Linux内核做过贡献。
    • 自2008年以来,每次release,都大约增加了10%左右的开发人员,而且,代码码达到了2.7百万行。

    是的,这样的生产率真是太疯狂了。下面是这份文档中所涉及的一些介绍和一些具体的统计数据。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 5.00 )
    Loading...
    Unix Pipes 管道原稿

    Unix Pipes 管道原稿

    Douglas McIlroy

    40年前,Unix操作系统横空出世,Unix不仅仅带来了一个操作系统,还创造C语言,Socket,开源,黑客等等文化,这些文化影响着整个计算机世界的文明,直到今天。

    如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明。管道的出现,解决的就是让不同功能的程序可以互相连通通讯,从而可以让软件开发,程序开发更加的“高内聚,低耦合”,从而可以让程序“Do one thing, Do it well”,从而可以让程序“Keep it Simple Stupid”等等,这一哲学引影了一代又一代的软件架构,直到今天的云计算。

    管道的发名者叫,Malcolm Douglas McIlroy,他也是Unix的创建者,是Unix文化的缔造者之一。他归纳的Unix哲学如下:

    程序应该只关注一个目标,并尽可能把它做好。让程序能够互相协同工作。应该让程序处理文本数据流,因为这是一个通用的接口。

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 5.00 )
    Loading...
    Code Review中的几个提示

    Code Review中的几个提示

    Code ReivewCode Review应该是软件工程最最有价值的一个活动,之前,本站发表过《简单实用的Code Review工具》,那些工具主要是用来帮助更有效地进行这个活动,这里的这篇文章,我们主要想和大家分享一下Code Review代码审查的一些心得。

    首先,我们先来看看Code Reivew的用处:

    1. Code reviews 中,可以通过大家的建议增进代码的质量。
    2. Code reviews  是一个传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码。
    3. Code reviews 也鼓励程序员们相互学习对方的长处和优点。
    4. Code reviews 也可以被用来确认自己的设计和实现是一个清楚和简单的。

    你也许注意到了在上面的Code Reivew中的诸多用处中,我们没有提到可以帮助找到程序的bug和保证代码风格和编码标准。这是因为我们认为:

    阅读全文 Read More

    好烂啊有点差凑合看看还不错很精彩 (14 人打了分,平均分: 4.93 )
    Loading...
    编程引言补充

    编程引言补充

    之前收集过《22条经典的编程引言》,发现还有一些未收录的,下面这些引言也很有意思的,希望你喜欢。

    “The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.” – Tom Cargill 
     “最开始的90%的代码使用了程序员90%的时间,剩下的10%的代码也需要90%的开发时间”——Tom Cargill(这不就是中国谚语——“行百步半九十”)

     

    “In order to understand recursion, one must first understand recursion.” – Author Unknown 
     “要知道什么是‘递归’,你首先需要知道‘递归’”——无名氏

    阅读全文 Read More

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