1

我最近继承了一个包含大量 Aestiva/HTMLOS 代码的项目。我知道这是一个很老的东西,这可能是一个范围,但我想知道是否有人可以提供调试这种类型代码的建议。

例如,我希望有一种技术可以动态转储所有变量集和范围内的变量,或者任何真正帮助我跟踪和观察 Aestivia 的调用堆栈并获得一些有意义的信息的技术。任何建议表示赞赏。

4

2 回答 2

2

长期 HTMLOS 程序员在这里。无法转储所有变量以查看在任何给定时刻正在使用哪些变量。

这是你可以做的。它可能对您的情况有帮助,也可能没有帮助。HTMLOS 使用会话,默认情况下将会话信息存储在 URL 中。因此,如果您查看 URL,它将看起来像...

http://example.com/cgi-bin/htmlos/001052.1.1391600132312275653

第一个数字 00 1052 是用户编号或会话 ID。

如果您查看您的 cgi-bin,您应该会找到一个名为 htmlos.conf 的文件,其中应该包含 htmlos 使用的缓存文件夹的路径。如果未在其中指定,则通常在 ~cgi-bin/private/cache/ 中找到

在您的缓存文件夹中,您应该找到一个文件夹 00,在其中您应该找到文件 1052.a 1052.b 1052.c 1052.opn 1052.v

1052.v 文件包含会话中使用的缓存内容。它是专有的,其格式在 HTMLOS 语言开发人员之外是未知的。您可以通过查看获得所需的信息。

在函数之外声明的任何变量都是全局的。

如果您不喜欢 HTMLOS 处理 URLS 的方式,您可能会发现我的路由库很有用... http://clearimageonline.com/route

于 2014-04-03T12:47:22.350 回答
1

htmlos 并不老,事实上,它每隔几个月左右就会更新一次。:-) 无论如何.. 回答你的问题.. 没有办法一次转储所有变量.. 如果你想知道变量在做什么,你可以做

display variable /display

整个页面,因此当页面出现时,您会看到整个页面中变量的值是什么。如果你不想显示,你可以这样做:

append variable+LF to file="filename.txt" /append

这会将其附加到日志文件中。

如果您有任何问题随时问!

于 2013-06-21T14:42:39.017 回答