Диагностические сообщения

В следующей таблице показаны диагностические сообщения, с которыми вы можете столкнуться, вероятные причины сообщения и предлагаемые решения.

Для получения информации о некоторых диагностических сообщениях см. следующую таблицу.

Диагностические сообщения и предлагаемые решения

СообщениеВероятная причинаПредлагаемое решение
LoadLibrary ("component_name_1_0.dll") не удалось - указанный модуль не найден.

Вы можете получить это сообщение об ошибке при регистрации DLL проекта из приглашения DOS. Это может произойти, если MATLAB® Среда выполнения не находится в системном пути.

См. раздел «Отказ поиска файлов MATLAB Runtime».

Ошибка в component_name. class_name.x: Ошибка при получении флагов преобразования данных.

Это часто вызвано mwcomutil.dll не регистрируется.

  1. Откройте окно DOS.

  2. Измените папки на matlabroot\bin\win64.

  3. Выполните следующую команду: mwregsvr mwcomutil.dll

(matlabroot является корневой папкой MATLAB.)

Error in VBAProject: ActiveX component can't create object.
  • Библиотека DLL проекта не зарегистрирована.

  • Несовместимая библиотека DLL MATLAB существует где-то в системном пути.

Если библиотека DLL не зарегистрирована,

  1. Откройте окно DOS.

  2. Измените папки на projectdir\distrib.

  3. Выполните следующую команду: mwregsvr projectdll.dll

(projectdir представляет расположение файлов проекта).

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 когда код пытается открыть диалоговое окно.

Если происходит из-за getframe() делает окно рисунка видимым перед выполнением захвата и, таким образом, прекращает работать в IIS. msgbox() вызовы в коде MATLAB также приводят к появлению предупреждения.

Решите эту проблему, сделав следующее:

  1. Откройте панель управления Windows Control Panel.

  2. Откройте службы.

  3. Из списка сервисов выберите и откройте IIS Admin сервис.

  4. В диалоговом окне « Свойствах» на вкладке «Log On» выберите «Local System Account».

  5. Выберите Allow Service to Interact with Desktop опции.

Улучшенная диагностика ошибок с использованием mstack Trace

Используйте эту расширенную диагностическую функцию для устранения проблем, возникающих конкретно во время выполнения кода 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