В следующей таблице представлены диагностические сообщения, с которыми вы можете столкнуться, вероятные причины сообщения и предлагаемые решения.
Для получения информации о некоторых диагностических сообщениях см. следующую таблицу.
Диагностические сообщения и предлагаемые решения
| Сообщение | Вероятная причина | Предлагаемое решение |
|---|---|---|
LoadLibrary(" | Это сообщение об ошибке может быть получено при регистрации DLL проекта из приглашения DOS. Это может произойти, если среда выполнения MATLAB ® отсутствует в системном пути . | См. раздел Сбой при поиске файлов среды выполнения MATLAB. |
Error in | Это часто вызвано |
( |
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. |
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