被 insight 折腾了一晚上
我装的 insight 是 6.3 版的,在 mingw 官方网站就可以下载 bin 安装包,用起来也非常方便。
可惜 gdb 的 6.3 版在 windows 下 attach 到一个进程调试时总是不对。如果在代码里写上 int 3 制造一个调试中断。中断发生后,再启动 insight attach 到出错进程,看不到被调试进程正确的堆栈。这一点让我非常郁闷,每次调试程序都必须用 insight 或 gdb 来引导,而不能像以前用 VC 那样,出错了再启动调试器。
下午 google 了一下,这似乎是 gdb 的一个 bug 。从一个帖子上推断,bug 最近被 fix 了。找到 gdb/insight 的官方网站,发现 gdb 现在已经是 6.5 版了,不过只有 source code 下载。我这种懒人当然是希望有人帮我 build 好了。windows 下用这些 GNU 的东西,光是 build 就可以让人脱层皮,我是领教过好几次的。
google 了老半天,硬是没找到有好心人 build 出一个 win32 下用的 6.5 版的 insight 。咬了咬牙,决定自己动手,丰衣足食。
我的 windows 下没有装 cygwin ,只有一个最小安装的 mingw ,所以首先去拉了个 msys 下来。这个是 build 这些 GNU 软件必须要的,否则 shell 脚本都运行不了。装 msys 倒是简单,安装完毕启动后感觉还不错,跟 cygwin 差不多。windows 上用这个的话,至少列目录可以 ls 了,不至于老是敲错。
接下来简直是噩梦。
我怀疑 windows xp 在进程管理上一定有 bug ,用 insight 带的 make 执行一遍,运行到一半就会因为 fork 失败而进行不下去。我们知道 make 的工作机制就是不停的 fork 子进程来干活的。windows 在进程管理上远不如 *nix 的系统,这 make 在我的机器上就是水土不服。出了问题后,怎么杀进程重新来都不行了,只能重启。好在 make 在重启后可以继续。就这样,我重启了 3,4 遍系统后,终于把 make 跑完了。
可到了最后,居然出现一行 Error ,说是 gdb 不支持 native target i686-pc-mingw32 (._.!) 看到这里人都要崩溃了。继续 google 出错信息,发现有人为这个说了 sorry ,据说要交叉编译出 mingw 的版本。真是吐血啊,只好放弃。
今天得到了几个教训:
1.不要把 GNU 的东西放到 Program Files 目录下,我就是因为 vim 被缺省安装到那里,导致人家写的 makefile 中引用这样的带空格的路径,不能正常工作。你只能去诅咒微软为啥把这样重要的目录名中间加个空格,明显制造不兼容嘛。
2.Windows 下不要对 GNU 系列的源码发布包抱太大希望。那些东西是好的,可惜 Windows 不吃这套。如果想用的话,尽量去找人家做好的安装包。
3.Windows 系统真的是滥,我们这样的 Windows 用户之所以总能忍受,是因为我们学会了用特定的方式去用系统,回避了许多可能出现 Bug 的地方。
Comments
Posted by: RiverZhou | (16) February 9, 2010 11:49 AM
Posted by: initial-x | (15) May 24, 2007 12:40 PM
Posted by: d | (14) May 15, 2007 12:39 PM
Posted by: yousp | (13) May 13, 2007 10:50 AM
Posted by: Cloud | (12) May 12, 2007 12:06 AM
Posted by: 极光炫影 | (11) May 11, 2007 11:47 PM
Posted by: missdeer | (10) May 11, 2007 11:00 PM
Posted by: longtrue | (9) May 11, 2007 10:49 PM
Posted by: Atry | (8) May 11, 2007 01:11 PM
Posted by: Atry | (7) May 11, 2007 01:06 PM
Posted by: Cloud | (6) May 11, 2007 12:46 PM
Posted by: nothanks | (5) May 11, 2007 11:26 AM
Posted by: Anonymous | (4) May 11, 2007 11:05 AM
Posted by: Anonymous | (3) May 11, 2007 11:05 AM
Posted by: jls | (2) May 11, 2007 10:04 AM
Posted by: Atry | (1) May 11, 2007 06:07 AM