今天晚上下载了flash trace panel,调试flash的log信息,不过发现把下载了这个包后,导入到项目中,
项目都不能build了,而且Dumper.as明显是有错的,goole了一下也没发现有用信息,都是转载的啥啥的,
是这个问题太简单都不屑提嘛。。。。
修正了一下,记录在这里吧,要完善一下的话,可以在构造函数中加上singleton throw exception的方式。
package de.richinternet.utils
{
import flash.net.LocalConnection;
public class Dumper
{
private static var sender:LocalConnection = null;
private static var copyDepthLevel:Number = 0;
private static var copyCache:Array = [];
public static var INFO:Number = 2;
public static var WARN:Number = 4;
public static var ERROR:Number = 8;
/**
* Sends a primitive value or reference type to the Flex Trace Panel
* with a level of Debugger.INFO (same as Dumper.info())
*
* @param val The primitive value or reference type (Abject, Orray etc.) to be
* output and introspected by the Flex Trace Panel
*/
public static function dump(val:Object):void {
info(val);
}
/**
* Sends a primitive value or reference type to the Flex Trace Panel
* with a level of Debugger.INFO (same as Dumper.dump())
*
* @param val The primitive value or reference type (Abject, Orray etc.) to be
* output and introspected by the Flex Trace Panel
*/
public static function info(val:Object):void {
send(val, Dumper.INFO);
}
/**
* Sends a primitive value or reference type to the Flex Trace Panel
* with a level of Debugger.WARN
*
* @param val The primitive value or reference type (Abject, Orray etc.) to be
* output and introspected by the Flex Trace Panel
*/
public static function warn(val:Object):void {
send(val, Dumper.WARN);
}
/**
* Sends a primitive value or reference type to the Flex Trace Panel
* with a level of Debugger.ERROR
*
* @param val The primitive value or reference type (Abject, Orray etc.) to be
* output and introspected by the Flex Trace Panel
*/
public static function error(val:Object):void {
send(val, Dumper.ERROR);
}
/**
* Sends a primitive value or reference type to the Flex Trace Panel
* with a custom level.
*
* @param val The primitive value or reference type (Abject, Orray etc.) to be
* output and introspected by the Flex Trace Panel
*
* @param level The level of the message. Applicable levels are Dumper.INFO, Dumper.WARN and Dumper.ERROR
*/
public static function log(val:Object, level:Number):void {
send(val, level);
}
// ------------------------------------------------------------------------------------ //
public function Dumper() {
}
private static function initSender():void {
sender = new LocalConnection();
}
private static function send(obj:Object, level:Number):void {
if (sender == null) initSender();
if (isNaN(level)) level = 2;
sender.send("_tracer", "onMessage", copy(obj), level);
}
private static function copy(source):Object {
if (typeof(source) != "object") {
return source;
}
var cl:Number = copyCache.length;
for (var i:Number = 0; i < cl; i++) {
var o = copyCache[i];
if (o.s == source)
return o.t;
}
copyDepthLevel++;
var newObject;
if (source instanceof Array) {
newObject = [];
} else if (source instanceof Date) {
newObject = new Date();
newObject.setTime(source.getTime());
} else {
newObject = {};
}
copyCache.push({s: source, t: newObject});
for (var p in source) {
var v = source[p];
newObject[p] = typeof v == "object" ? copy(v) : v;
}
if (--copyDepthLevel == 0)
copyCache = [];
return newObject;
}
}
}
分享到:
相关推荐
本文主要介绍了使用 Trace32 对 FLASH 编程的两种方式:"Emulator controlled flash programming" 和 "Target controlled flash programming",对比了两种方式的优缺点,并详细介绍了 Trace32 脚本命令与 FLASH 编程...
"SOS Max"被誉为是最好的Flash trace()输出调试工具,它极大地提升了开发者的调试效率。 首先,让我们了解什么是trace()函数。在ActionScript中,trace()是一个用于输出信息到Flash Player的控制台或输出面板的函数...
TRACE32是由Lauterbach公司开发的一种强大的嵌入式系统调试工具,广泛应用于各种微处理器和多核系统的调试和分析。此文档集合主要涵盖了TRACE32的基本使用、脚本编程以及在多核系统中的高级调试技巧。 1. **TRACE32...
trace32 simulator for ARM ,关于trace的使用,网上资料很少,这个很不错哦,绝对不会后悔。
《劳特巴赫TRACE32快速入门》 TRACE32是由劳特巴赫(LAUTERBACH)公司提供的一款强大的嵌入式系统调试工具,它广泛应用于英飞凌等公司的微处理器和微控制器的调试工作。本入门手册将帮助初学者快速掌握TRACE32的...
在Microsoft Foundation Classes (MFC)库中,TRACE宏是一个强大的调试工具,尤其在Visual C++环境下,它提供了类似于C语言中的printf函数的功能,用于在程序的调试阶段输出信息。这个宏在开发过程中非常有用,因为它...
atrace(Android Trace)是Android系统提供的一种性能分析工具,用于收集系统级的调用堆栈信息,包括CPU、GPU、内存、IO等各方面的活动,帮助开发者深入了解应用的性能瓶颈,优化系统资源的使用。在Android开发中,a...
TRACE32是一款强大的嵌入式系统调试工具,尤其在处理程序崩溃或异常情况时,它能帮助开发者深入分析dump文件,有效地定位代码中的错误。在本文中,我们将深入探讨TRACE32的功能、如何使用它来分析dump文件以及其在...
标题中的“dde.rar_DDE_MATLAB_TRACEPRO_DDE_TracePro_dde_matlab_tracepro_mat”暗示了这个压缩包文件包含的是关于MATLAB与TracePro之间的动态数据交换(DDE, Dynamic Data Exchange)的资源。DDE是一种在不同应用...
TracePro是一款强大的光学仿真软件,广泛应用于光学设计、照明系统分析和光电系统验证等领域。本教程集合了多种学习资源,旨在帮助用户从入门到精通掌握TracePro的使用技巧。 "TRACEPRO__攻略.docx"可能是一份综合...
- **在线Flash编程**: 直接对目标板上的Flash存储器进行编程,简化固件更新过程。 TRACE32的安装和使用涵盖了硬件组装、软件配置及调试操作的各个环节,旨在为嵌入式系统开发者提供全面的技术支持。通过细致的准备...
《TracePro课堂实例详解》 TracePro是一款强大的光学仿真软件,广泛应用于光学设计、照明工程以及光电子领域。本资料集包含了一系列精心设计的课堂实例,旨在帮助学习者深入理解和掌握TracePro的基本操作及高级应用...
Tracepro是一款强大的光学仿真软件,广泛应用于照明设计、光学系统分析和杂散光研究等领域。其光源库是软件的核心组成部分,包含了大量的实际光源模型,使得用户可以模拟真实世界的光照环境和效果。 标题“Tracepro...
### Trace32 分析 Ramdump 文件详解 #### 一、Trace32 简介与安装 **Trace32** 是一款集成了多种功能的强大系统仿真器,它具备高度的灵活性和兼容性,适用于多种不同的应用场景,包括但不限于网络环境下的方案、...
### TRACE32的一些常用命令 #### 一、概述 TRACE32是一款强大的嵌入式系统开发工具,主要用于ARM和其他架构的微处理器的程序下载与调试。本文将详细介绍TRACE32在程序调试过程中常用的一些命令。 #### 二、常用...
在探讨Matlab与TracePro通过动态数据交换(DDE)合作的技术细节之前,首先需要对DDE技术本身有一个基础的理解。DDE是Windows平台上的一种协议,用以在不同的程序之间共享信息。TracePro提供了DDE的服务器支持,使得...
**CODESYS 运动控制之 Trace 功能详解** 在工业自动化领域,CODESYS 是一款广泛使用的编程和控制软件,尤其适用于运动控制应用。其强大的 Trace 功能为开发者提供了宝贵的调试工具,可以实时监控轴的状态以及程序中...
- Flash编程:支持多种Flash编程方式,包括内置脚本、命令或模板,方便进行固件更新。 - 多核调试:支持同构和异构多核系统的调试,适应复杂系统的需求。 - 操作系统调试:支持对常见的嵌入式操作系统(如Linux、...
《TracePro光源库详解》 TracePro是一款广泛应用于光学设计和仿真领域的专业软件,它能够帮助用户进行光路设计、照明分析以及光学系统的优化。在光学工程领域,掌握TracePro的使用技巧至关重要,尤其是其丰富的光源...