Can I Debug Compiled Code? Is there a reason that a program would run in the MATLAB environment but not as a standalone executable?

I have a gui and associated .m files that run properly from the MATLAB interface. When I compile them, however, the main function does not run properly. Based on output files, I know that it starts, but somewhere it dies before it finishes running. There are no error messages and nothing to indicate where it stops running. Again, it only has this problem in the compiled version.
Can anyone suggest a path I should explore? Is there a way to debug a compiled application? I haven't done much with the compiler so I could easily be missing something obvious.
Thanks

 Accepted Answer

Oh gosh yes, certainly. Happens all the time. Almost every time that you roll out an app for the very first time. One thing to check is the FAQ: http://matlab.wikia.com/wiki/FAQ#My_standalone_executable_won.27t_run_on_the_target_computer._What_can_I_try.3F
Let me know if none of those ideas work.

2 Comments

Old post, but for posterity...
I use a function from the FEX called jprintf to generate a java window that I can throw console-ish statements to. It's a little hacky, but is robust and doesn't require anything extra at compile time (i.e. you can use the Matlab Compiler app with default settings).

Sign in to comment.

More Answers (2)

It is often very helpful to save the workspace right before the offending error line executes when debugging. By reviewing the workspace contents of the resultant who.mat file, I can often figure out what the problem was.
if isdeployed
save who
end
% line # of error listed in MCR app command output

Categories

Products

Asked:

on 6 Nov 2013

Answered:

on 27 Jun 2019

Community Treasure Hunt

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

Start Hunting!