Running a function script
37 次查看(过去 30 天)
显示 更早的评论
Hi there,
I am writing a function in a seperate script. While debugging I keep hitting F5 to test it, which obviously gives an error as a function cannot run by itself. Now I know the easy option is to stop being stupid and run the main file but I was wondering whether there's some way to get around it and call the main file when I press F5 while I'm typing in the function file.
0 个评论
回答(3 个)
OCDER
2019-1-8
编辑:OCDER
2019-1-8
To debug a function that is part of a larger set of codes, perhaps you should use debugging features such as code breaks and dbstop if error. This is an example workthrough for debugging complex codes:
>> runMain % your main file
Error: Something went wrong in functionA line 145 etc etc
>> dbstop if error
>> runMain
If your code runs into an error, your editor will open to the error line to help you debug. You'll need to traverse the Function Call Stack to find the function that really needs the fix. For instance, if functionA calls functionB with incorrect inputs, and functionB throws the error message, the dbstop will stop in functionB when you actually need to fix functionA. Go to Function Call Stack > functionA.m to debug functionA.
With dbstop, the local variables are given to you so you can figure out what's the issue.
2 个评论
madhan ravi
2019-1-8
Thanks for your reply.
I am doing perfectly fine with debugging. Problem is that once I solved a particular bug, my editor is still at the line of the debug. When I then press F5 it runs the function directly, which is not possible.
Ideally when I press F5 on the function it'd run the main file.
It's just conveniency really but I couldn't stop wondering whether this was possible.
Steven Lord
2019-1-8
See this documentation page for instructions on how to customize what gets run when you press the green triangle Run button. I believe this is also what gets used when you press F5.
0 个评论
TADA
2019-1-8
In Fact You Can Do It.
Open The Popup Menu Under Your Run Button At The Menu Strip.
You Can Type Whatever Code You Want To Run Right There, So It Could Be main, Or That Function You're Debugging With Whatever Input You Want![IMG_20190108_171216.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200383/IMG_20190108_171216.jpeg)
![IMG_20190108_171216.jpg](https://www.mathworks.com/matlabcentral/answers/uploaded_files/200383/IMG_20190108_171216.jpeg)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Debugging and Analysis 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!