How to view parameter values while debugging in App Designer?
219 views (last 30 days)
Show older comments
Hi,
I am new to App Designer and have a quick question. I am trying to convert a few scripts over to App Designer so there is a user interface. I am unable to view the parameter values while trying to debug the app. Is there a way to view the parameter values similarly as you would when debugging a script (view in workspace)? There are parameters showing in the workspace but I can't view the values in the parameters.
Thanks,
Art
0 Comments
Accepted Answer
Adam Danz
on 9 Jan 2020
Edited: Adam Danz
on 9 Jan 2020
Here are 3 methods of seeing the values of variables in AppDesigner code.
The first two require using debug mode.
Set up debug mode
Place a break point anywhere within the function that stores the variables you'd like to explore. You can place a break point by clicking on the gray horizontal line along the left edge next to the line numbers.
See values by hovering the mouse over the variable.
After setting the break point, run the app and execute the callback function that contains the line break (example: press the button that calls the callback function). If the line break is in the startup function, just run the app. When execution gets to the break line, execution will pause and you then will have access to all variable values prior to the break point by hovering your mouse over the variable. Press F10 to step through the rest of the code line by line or F5 to finish running the code.
See values by printing them in the command window.
Instead of hovering the mouse over the variable as explained above, you could highlight the variable and press F9 which will print its value to the command window.
+ F9
<--- command window
Print the value of variables by using fprintf() commands
Use an fprintf() command as shown below to see the value of variable 'x' in the command window every time this line is executed.
fprintf('x = %.5f \n', x)
% [1] [2]
% [1] this will show 5 decimal places
% [2] this will add a new line after showing the variable value
For more complex variables such as the content of structure 's'
fprintf('s = \n')
disp(s)
0 Comments
More Answers (1)
AS
on 9 Jan 2020
3 Comments
Cameron B
on 13 Jan 2020
Another option is to save it to your workspace directly.
assignin('base','MyData',app.MyData)
Using this, you'll be able to type MyData in the command line and it will show your results. This is how I troubleshoot everything because printing every small variable to the command window can be tedious for app designer.
Adam Danz
on 13 Jan 2020
I would recommend avoiding the use of assigning() in this case, for the following reasons.
- Debug mode is designed exactly for this reason: to explore variable values within function workspaces; and it avoids the rest of the problems liste below.
- assigning() results in variables 'magically' appearing in the designated workspace whose origins are very difficult to trace. It's easy to forget to comment-out these lines of code which could result in a nightmare of variables appearing without trace.
- You risk overwriting variables in the designated workspace that you may want to keep.
- As alluded to above, you must remember to comment-out or remove those lines of code which is additional work.
- Sharing the content of a variable may not be that informative without knowing the content of other variables. This is not a problem when using debug mode.
See Also
Categories
Find more on Workspace Variables and MAT-Files 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!