gdb的出错消息

一直以来,运行gdb,之后输入 attach <PID>,会收到一些错误消息:
> gdb
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB.  Type “show warranty” for details.
This GDB was configured as “i386-marcel-freebsd”.
(gdb) attach 7590
Attaching to process 7590
/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) n

/usr/src/gnu/usr.bin/gdb/libgdb/../../../../contrib/gdb/gdb/solib-svr4.c:1443: internal-error: legacy_fetch_link_map_offsets called without legacy link_map support enabled.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) n
Reading symbols from /usr/local/kde4/bin/dolphin…(no debugging symbols found)…done.
….
Loaded symbols for /usr/local/kde4/lib/libkfontinst.so.5
Reading symbols from /libexec/ld-elf.so.1…done.
Loaded symbols for /libexec/ld-elf.so.1
[Switching to Thread 0x2dd6b260 (LWP 100239)]
0x29be3243 in select () from /lib/libc.so.7
(gdb)
一直也不知道是什么道理…… 今天去网上查,终于看见一个说法:
需要attach的话,只能运行 gdb -p <PID> <exec file>
也就是说,要提供原来的可执行文件,才能attach到一个现有process……
我试了一下,的确好了:
> gdb -p 7590 /usr/local/kde4/bin/dolphin
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB.  Type “show warranty” for details.
This GDB was configured as “i386-marcel-freebsd”…(no debugging symbols found)…
Attaching to program: /usr/local/kde4/bin/dolphin, process 7590
Reading symbols from /usr/local/kde4/lib/libkio.so.7…(no debugging symbols found)…done.
Loaded symbols for /usr/local/kde4/lib/libkio.so.7
……
Reading symbols from /libexec/ld-elf.so.1…done.
Loaded symbols for /libexec/ld-elf.so.1
[Switching to Thread 0x2dd6b260 (LWP 100239)]
0x29be3243 in select () from /lib/libc.so.7
(gdb)
貌似这个问题,在GDB里面很早就修正了。FreeBSD随系统自带的GDB还是6.1.1,ports里倒是提供了一个6.6,但是不支持调试多线程的程序…… 不知道啥时候这个事情能够解决……

恩,期末了

首先,BlogSpot又被封了。估计么,也是和8^2有关系。只是不知这封完会不会解,解了之后,又会不会封……
接近期末,感觉事情好像变多了。数电有彩灯实验,系统有期末大实验。
彩灯实验是一个设计型实验,用各种门、中小规模集成电路、可编程器件,控制一些小灯,进行演示。听上去很有意思,但是不让用单片机。本来吧,其实可以用功能堪比单片机的FPGA。问题是,一片满足条件的FPGA,少说也有百多条管脚,还是类似表面贴装的形式,怎么焊得了。况且学校的制版技术也不成,不可能制出符合要求的板子。如果出去请人制板,代价又太大。总的来说就是,最多也就是CPLD了。但是CPLD也不太成,资料也不太好找,能找到的基本上都是在用现成的开发板。最后,降低设计目标,用一堆计数器、门等等,搞出来一个能够在8×8的阵列上显示一个光标的东西……
目前设计出了电路图,还没置板呢。
系统分析与控制这门课,其实没啥用。上的老师也说过,现在都用计算机仿真了,上面的方法基本上不用了。但是我们仍然要学习厚厚的一本书。系统是典型的不用动脑子的课。所有的题目,在前面都有相应的例题,按照同样的方法,算一遍,也不用进行什么思考,就完了。并且这门课一点也不优美,到处都是近似、经验一类的地方,对精确度也很无所谓。

其他么,工作倒是少了,SRT也就是个收尾的事情。但是GRE进度还是不成。报名完了,也算一种动力吧。
最后么,祝大家期末考试顺利~

Joomla 热门新闻的有效期

     热门文章上的内容,是完全按照新闻点击次数排的。虽然原来发布的时候有个失效时间,但是大部分人懒得写,导致很旧的但是点击量大的新闻会长时间排在顶上,违背了新闻和热门的意思。
     因为这个原因,我想说不定能够设置一下,比如只显示两个月的新闻。但是看了一下那个热门新闻模块(mod_mostread),设置很简单,没这方面内容。
     于是只好改代码了么…… 打开/joomla/modules/mod_mostread.php,看见如下代码:

  • case 1:
  • default:
  • //Content Items only
  • $query = “SELECT a.id, a.title, a.sectionid, a.catid”
  • . \n FROM #__content AS a”
  • . \n LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id”
  • . \n INNER JOIN #__categories AS cc ON cc.id = a.catid”
  • . \n INNER JOIN #__sections AS s ON s.id = a.sectionid”
  • . \n WHERE ( a.state = 1 AND a.sectionid > 0 )”
  • . \n AND ( a.publish_up = ‘$nullDate’ OR a.publish_up <= ‘$now’ )”
  • . \n AND ( a.publish_down = ‘$nullDate’ OR a.publish_down >= ‘$now’ )”
  • . ( $access ? \n AND a.access <= $my->gid AND cc.access <= $my->gid AND s.access <= $my->gid” : )
  • . ( $catid ? \n AND ( a.catid IN ( $catid ) )” : )
  • . ( $secid ? \n AND ( a.sectionid IN ( $secid ) )” : )
  • . ( $show_front == “0” ? \n AND f.content_id IS NULL” : )
  • . \n AND s.published = 1″
  • . \n AND cc.published = 1″
  • . \n ORDER BY a.hits DESC”
  • ;
  • 那个case 1对应选项里的“只显示内容项目”,下面明显在构造SQL查询语句。<br />搜了一下,MySQL有个函数,DATEDIFF(),返回两个日期差的天数,这不是正好么。<br />在其中插入一句判断:

  • . \n AND ( DATEDIFF(‘$now’, a.created) <= 60 )”
  • 于是问题解决~ 这种脚本语言还真是容易学容易用……

    谈笑间,作业灰飞烟灭

    首先,本学期主要有五门课布置作业,还有两门实验课。
    然后,今天和同学说起,准备下午做作业的事情。回头想想,本周一系统小测验,没作业;周一数电本来就是两周一次,本周没有;周三生物原来说要小测验,但是没有测,还是没布置作业;周二的数据结构,四周才交一次作业,又没有~
    于是,本周就只剩一门作业了~
    晚上写实验预习报告,写完电子的想写物理的,上网去查下周做什么实验,结果…… 本来两周一次的实验,下周停一次~
    就这样,谈笑之间,作业就不见了么~
    不过科学技术史期中小论文还是要的,两千五百字…… 找一天一下子憋出来吧……

    期中总会忙一点……

    本学期期中倒是没几门课考试,一门半学期的课考了个试,反正是计通过的文科课,估计过的问题也不大…… 虽然整个学期这个课就去了三四次。
    最近搞SRT,改改操作系统,补充补充啥的,感觉还是研究这些有乐趣。工作还是一会儿多一会儿少,总的来说也花不了多少时间。课业上本学期也算容易。
    问题是,这些加在一起,就占掉了很多时间…… 还要背单词…… 感觉时间有点不够用…… 背单词速度明显不行……
    接下来SRT算告一段落,下一阶段的方向还没定。工作方面么,总没有上一段时间忙,我们组副组也有空了。接下来就要好好背单词了……