编者注: 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 版本兼容性
平台兼容性
Windows macOS Linux类别
标签
致谢
启发作品: Inject error in function
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!tracer4m/
tracer4m/html/
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.1.0.0 | Previous upload failed. Better luck this time :-)
Removed the limitation regarding function name reported by Jesse Hopkins. Now it also takes file names with wildcards. |
||
1.0.0.0 |