В следующей таблице показаны диагностические сообщения, с которыми вы можете столкнуться, вероятные причины сообщения и предлагаемые решения.
Для получения информации о некоторых диагностических сообщениях см. следующую таблицу.
Диагностические сообщения и предлагаемые решения
Сообщение | Вероятная причина | Предлагаемое решение |
---|---|---|
LoadLibrary ( | Вы можете получить это сообщение об ошибке при регистрации DLL проекта из приглашения DOS. Это может произойти, если MATLAB® Среда выполнения не находится в системном пути. | См. раздел «Отказ поиска файлов MATLAB Runtime». |
Ошибка в | Это часто вызвано |
( |
Error in VBAProject: ActiveX component can't create object. |
| Если библиотека DLL не зарегистрирована,
( |
object ref not set to instance of an object | Это происходит, когда вызывается объект, который не был создан | Создайте экземпляр объекта. |
Error in VBAProject: Automation error The specified module could not be found. | Обычно это происходит, если MATLAB отсутствует в системном пути. | См. раздел «Отказ поиска файлов MATLAB Runtime». |
Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application. | Это предупреждение возникает ASP.NET когда код пытается открыть диалоговое окно. Если происходит из-за | Решите эту проблему, сделав следующее:
|
Используйте эту расширенную диагностическую функцию для устранения проблем, возникающих конкретно во время выполнения кода MATLAB.
Чтобы реализовать эту функцию, используйте обработку исключений .NET, чтобы вызвать функцию MATLAB внутри приложения .NET, как показано в этом блоке кода try-catch:
try { Magic magic = new Magic(); magic.callmakeerror(); } catch(Exception ex) { Console.WriteLine("Error: {0}", exception); }
Когда возникает ошибка, трассировка стека кода MATLAB печатается перед Microsoft® трассировка стека приложений .NET:
... MATLAB code Stack Trace ... at file C:\work\MagicDemoCSharpApp\bin\Debug\ CalldmakeerrComp_mcr\compiler\g388611\ca thy\MagicDemoComp\dmakeerror.m,name dmakeerror_error2,line at 14. at file C:\work\MagicDemoCSharpApp\bin\Debug\ CalldmakeerrComp_mcr\compiler\work\MagicDemoComp\dmakeerror.m,name dmakeerror_error1,line at 11. at file C:\work\MagicDemoCSharpApp\bin\Debug\ CalldmakeerrComp_mcr\compiler\work\MagicDemoComp\dmakeerror.m,name dmakeerror,line at 4. at file C:\work\MagicDemoCSharpApp\bin\Debug\ CalldmakeerrComp_mcr\compiler\work\MagicDemoComp\calldmakeerror.m,name calldmakeerror,line at 2. ... .Application Stack Trace ... at MathWorks.MATLAB.NET.Utility.MWMCR.EvaluateFunction (String functionName, Int32 numArgsOut, Int 32 numArgsIn, MWArray[] argsIn) at MathWorks.MATLAB.NET.Utility.MWMCR.EvaluateFunction (Int32 numArgsOut, String functionName, MWA rray[] argsIn) at CalldmakeerrComp.Calldmakeerr.calldmakeerror() in C:\work\MagicDemoComp\src\ Calldmakeerr.cs:line 140 at MathWorks.Demo.MagicSquareApp.MagicDemoApp.Main(String[] args) in C:\work\Ma gicDemoCSharpApp\MagicDemoApp.cs:line 52