tracer4m

版本 1.1.0.0 (213.7 KB) 作者: per isakson
tracer4m traces calls to methods and functions.
1.0K 次下载
更新时间 2016/9/11

查看许可证

编者注: This file was selected as MATLAB Central Pick of the Week

tracer4m traces calls to methods and functions.
Object-oriented design is about distributing responsibilities among interacting objects.
The objects should be small and focused. This results in a complex flow of calls.
Furthermore, in a GUI the user manipulates controls, which in turns trigger events and
chains of calls to methods and functions. There is a need to trace the calls.
The goal of tracer4m is to support unit testing, debugging, and analysis of existing code.
Example based on "Example - Using Events to Update Graphs" from the Matlab on-line help

feobject = fcneval( @(x,y) x.*exp(-x.^2-y.^2), [-2 2 ] );
fcnview.createViews( feobject );
log = TraceHistory.Instance;
log.setup( { 'fcneval', 'fcnview', 'createViews' } )
feobject.FofXY = @(x,y) x.*exp(-x.^.5-y.^.5);
disp( log )
%
log.clearHistory
feobject.Lm = [-8 3];
disp( log )

Part of the result is depicted in the image above.

Documentation: tracer4m_demo.html, which is generated by PUBLISH, discusses and demonstrate the use and behaviour of tracer4m.

I would appreciate comments especially regarding requirements on tracing tools for Matlab

引用格式

per isakson (2024). tracer4m (https://www.mathworks.com/matlabcentral/fileexchange/28929-tracer4m), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2016a
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Random Number Generation 的更多信息
致谢

启发作品: Inject error in function

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.1.0.0

Previous upload failed. Better luck this time :-)
Fixed the problem with R2016a reported by Therry. The revised code is tested only on R2016a, but "should" run on older versions.

Removed the limitation regarding function name reported by Jesse Hopkins. Now it also takes file names with wildcards.

1.0.0.0