trace是一个计算机术语。TRACE和TRACK是用来调试web服务器连接的HTTP方式。TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能。在MATLAB中,trace用于求二维方阵的迹,即该方阵对角线上元素之和。在Flex中,用作调试信息显示函数,用于在debug(调试)模式下输出。

外文名

trace

用法

类似C的printf(\"输出字符串\")

用于

在debug(调试)模式下输出

格式

TRACE(\"DDDDDDDDDDD\")

Web

支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。

攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。

解决方案:禁用这些方式。

VC

该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。

使用非常简单,格式如下:TRACE("DDDDDDDDDDD"); TRACE("wewe%d",333); 同样还存在TRACE0,TRACE1,TRACE2。分别对应0,1,2个参数 TRACE信息输出到VC IDE环境的输出窗口(该窗口是你编译项目出错提示的那个窗口),但仅限于你在VC中运行你的DEBUG版本的程序。

TRACE信息还可以使用DEBUGVIEW来捕获到。这种情况下,你不能在VC的IDE环境中运行你的程序,而将BUILD好的DEBUG版本的程序单独运行,这个时候可以在DEBUGVIEW的窗口看到DEBUGVIEw格式的输出了。

VC中TRACE的用法有以下四种:

1:TRACE,就是不带动态参数输出字符串,类似C的printf("输出字符串");

2:TRACE中的字符串可以带一个参数输出,类似C的printf("...%d",变量);

3:TRACE可以带两个参数输出,类似C的printf("...%d...%f",变量1,变量2);

4:TRACE可以带三个参数输出,类似C的printf("...%d,%d,%d",变量1,变量2,变量3);

TRACE宏有点像我们以前在C语言中用的Printf函数,使程序在运行过程中输出一些调试信息,使我们能了解程序的一些状态。但有一点不同的是: TRACE 宏只有在调试状态下才有所输出,而以前用的Printf 函数在任何情况下都有输出。

和Printf函数一样,TRACE函数可以接受多个参数如:int x=1;int y=16;float z=32.0;TRACE("This is a TRACE statement ");TRACE("The value of x is %d ",x);TRACE("x=%d and y=%d ", x, y);TRACE("x=%d and y=%x and z=%f ", x, y, z);要注意的是TRACE宏只对Debug版本的工程产生作用,在Release版本的工程中,TRACE宏将被忽略。

函数简介

函数功能:在FreeMat、Matlab中,该函数用于求二维方阵的迹,即该方阵对角线上元素之和。

语法格式:

y=trace(x)

这里x是一个方阵。

trace函数的算法实现:t=sum(diag(A));

相关函数:det、diag

程序示例

--> A= 1 2 3; 4 5 6; 7 8 9];

--> trace(A)

ans=15

--> B=[1 0 0; 0 1 0; 0 0 1];

-->trace(B)

ans=3

--> sum(diag(A))

ans=15

-->sum(diag(B))

ans=3

显示函数

trace(...):void

用于在debug(调试)模式下输出,类似与java中的System.out.println();

1、以调试模式运行程序;

2、点击控制台;

3、运行有trace()函数的程序块,控制台就会有输出调试信息;

api介绍:

调试时显示表达式或写入日志文件。单个跟踪语句可支持多个参数。如果跟踪语句中的任何参数包含String之外的数据类型,则跟踪函数将调用与该数据类型关联的toString()方法。例如,如果该参数是一个布尔值,则跟踪函数将调用Boolean.toString()并显示返回值。

参数:

arguments要计算的一个或多个(逗号分隔)表达式。对于多个表达式,输出中每个表达式之间都将插入一个空格。

语言版本:

3.0

Player版本:

Flash 9,AIR 1.0,Lite4