chmdump fails

编译是成功了,但是会有这类的错误:

Getting ::DataSpace/NameList, de = 00000000

6 [main] chmdump 4036 _cygtls::handle_exceptions: Error while dumping stat

e (probably corrupted stack)

Segmentation fault (core dumped)

只好继续debug,看到Google有两篇很有用的文章,纪录如下:

Malicious CHM
Microsoft’s HTML Help (.chm) format

在cygwin下侦错时,因为程式都是用fprintf(stderr,…之类的作输出,所以如果要输出到档案,得要这么作才行:

我要如何将 csh 的 stdout 与 stderr 导向到不同的地方呢?

我要如何将 csh 的 stdout 与 stderr 导向到不同的地方呢?

在 csh 中,用 “>” 将 stdout 导向,用 “>&” 则能将 stdout 与 stderr 一起导向。可是不能只单独把 stderr 转向。最好的方法是

	        ( command >stdout_file ) >&stderr_file

以上的命令会开一个 subshell 执行 “command”;而这个 subshell 的  stdout 则被转向到 stdout_file,同时这个 subshell 的 stdout 和  stderr 则都被转向到 stderr_file,但是因为 stdout 已经先被转向了, 所以 stderr 就会被转到 stderr_file 了。

如果你只是单纯的不想把 stdout 做转向,那么就用 sh 来帮你吧。

	        sh -c 'command 2>stderr_file'