使用TCL_MEM_DEBUG编译TCL库

时间:2014-02-07 09:54:26

标签: tcl

我使用mem标志编译了TCL库。但是当我试图在我的应用程序上使用这些库时,我在控制台中看不到任何消息。将跟踪消息发送到标准输出(终端)还是会有任何日志文件来记录消息?

1 个答案:

答案 0 :(得分:1)

当您在启用内存调试的情况下编译Tcl时(使用Posix配置样式,这意味着您已将--enable-symbols=mem--enable-symbols=all传递给configure;我不确定是什么发生在Windows上)默认情况下,存在大量额外的内存分配处理检查,定义了额外的Tcl命令 - memory。某些memory子命令确实会将消息写入stderr;你需要在合适的控制台内运行才能看到它们,如果你不了解它,这可能是Windows上的一个问题。其他命令会将事物转储到命名文件中。

FWIW,在开发Tcl时,我通常在进行性能测试时使用--enable-symbols=all 除了构建。众所周知,各种调试选项会对Tcl的实现速度产生重大影响(这就是为什么它是一个编译选项而不是总是存在的原因,因此为什么接口比Tcl的其余部分更粗糙)。