首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在clock.tcl中调试Tcl8.6错误

如何在clock.tcl中调试Tcl8.6错误
EN

Stack Overflow用户
提问于 2018-02-28 22:23:28
回答 3查看 354关注 0票数 1

在我们的NaviServer/OpenACS实例中,我们经常会遇到以下错误。重新启动后,错误消失了,但会再次出现(在我还不理解的情况下)。在我看来,似乎某些代码会弄乱clock.tcl实现使用/看到的消息目录或区域设置。但是,我不确定如何才能调试得最好。

代码语言:javascript
复制
expected integer but got "GREGORIAN_CHANGE_DATE"
    while executing
"GetDateFields $clockval  $TZData($timezone)  GREGORIAN_CHANGE_DATE"
    (procedure "::tcl::clock::formatproc'%Y-%m-%dT%H\:%M\:%SZ'c" line 4)
    invoked from within
"$procName $clockval $timezone"
    (procedure "::tcl::clock::format" line 34)
    invoked from within
"clock format [clock seconds] -timezone :UTC -format %Y-%m-%dT%H:%M:%SZ"

任何想法都是非常感谢的!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-06-14 18:21:23

既然您提到了问题有时会发生,这就让我耳熟能详了。该问题很可能是由NaviServer/AOLserver蓝图中的命令顺序引起的,该顺序最终取决于哈希表中不可预测的顺序。我在2018-06-14 12:00 +0200 #1提交给NaviServer源代码存储库的更改可能可以避免这个问题,因为它从蓝图中排除了::tcl名称空间中的所有内容。它的缺点是,如果用户添加内容到::tcl名称空间,这将不会包含在蓝图中...但是用户不应该这样做。

背景:对于纯Tcl代码,NaviServer蓝图中的序列化顺序取决于从哈希表获得的(不稳定的)顺序,因此它可能并不总是相同的。如果msgcat和时钟以任意顺序加载,这些组件的初始化可能会被混淆。

票数 1
EN

Stack Overflow用户

发布于 2018-02-28 23:31:53

我猜你的鼻子指向了正确的方向:

代码语言:javascript
复制
% package req msgcat
1.6.1
% ::msgcat::mclocale
de_at
% ::msgcat::mcset [::msgcat::mclocale] GREGORIAN_CHANGE_DATE 2299527 
2299527
% ::msgcat::mc GREGORIAN_CHANGE_DATE
2299527
% msgcat::mclocale dummy_locale
dummy_locale
% ::msgcat::mc GREGORIAN_CHANGE_DATE
GREGORIAN_CHANGE_DATE

但是,msgcat::mclocale似乎被“损坏”了,因为没有与关键GREGORIAN_CHANGE_DATE匹配的目录项。或者,名称空间上下文可能会被篡改(在NaviServer蓝图中并非不可能)。但是,您需要在失败之前首先跟踪[msgcat::mclocale]的输出(正如前面的评论所建议的那样)。更不可能的是,在一些(实际的)语言环境中,日历转换还没有完成,并且在clock.tcl中缺失;)

票数 0
EN

Stack Overflow用户

发布于 2018-03-21 13:28:52

这可能对你有用:

代码语言:javascript
复制
set milliseconds [clock clicks]
variable time [format "%s_%03d" [clock format [clock seconds] -format %Y%m%d_%H%M%S] [expr {$milliseconds % 1000}] ]

puts $time

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49031790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档