Can I debug Matlab class objects in Simulink Matlab Function block?
Show older comments
It appears that Matlab objects embedded as persistent variables in a Matlab Function block cannot be viewed in a debugging session.
For instance, with an object a with member x, when stopped in a debug session, if I type the name of the object or reference a member, I get:
debug>> a
a =
Variables of class type cannot be displayed.
debug>> a.x
Attempt to reference field of non-structure array.|
I am using R2012b. Any ways to enable this debugging capability? It's extremely important for effectively using these in models.
6 Comments
Ryan G
on 21 Dec 2012
You can define things extrinsically in the MATLAB function. This will allow you to utilize the MATLAB interpreter instead of having MATLAB generate code for the block.
However, if you need to deploy the MATLAB function, it will require code generation.
Aaron
on 21 Dec 2012
Ryan G
on 21 Dec 2012
The big issue here sounds like code generation. Whenever you use the MATLAB function it will generate code unless you tell it not to (extrinsic). You could write your entire function as an m-file, then call that m-file extrinsically in the MATLAB function block. There may be some data type issues you will need to resolve as Simulink is stricter on datatype usage.
Aaron
on 21 Dec 2012
Kaustubha Govind
on 26 Dec 2012
Aaron: If debug capability for MATLAB class objects with the MATLAB Function block is important to you, I would encourage you to submit an enhancement request via MathWorks Technical Support. Thanks!
Tom Amlicke
on 5 Aug 2021
Is this feature on a road map? I'm debugging a large model on 2020a and can not see into any of my MATLAB objects while debugging my Simulink models. Thanks!
Answers (0)
Categories
Find more on Function Definition in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!