Исключение первого шанса с расширением Intel Parallel Debugger Extension (libiomp5md)/IPP 7 и VS2005

По-видимому, при связывании сборки библиотеки с Intel Composer 12.1 или с IPP 7.0 в Visual Studio 2005 я всегда получаю этот вывод в окне вывода отладки:

«Исключение первого шанса по адресу 0x7c812afb (kernel32.dll) в vasl_td.exe: 0xA1A01DB1: 0xa1a01db1».

В соответствии с

http://software.intel.com/en-us/articles/parallel-debugger-extension-exceptions-0xa1a01db1-0xa1a01db2/

это исключение требуется и используется надстройкой параллельного отладчика Intel. По-видимому, VS2005 неправильно обрабатывает эти исключения. Решение по ссылке

(Отладка > Исключения... > Исключения Win32 и включение исключений Intel Parallel Extension 0, 1 и 2)

здесь работает не у всех, так как Intel Composer не установлен на каждой машине (VS2005 есть).

Это исключение раздражает, а также вводит новую зависимость от libiomp5md.dll, которую я хочу удалить.

Могу ли я отключить эту «функцию» в Intel Composer? Как отключить эту функцию при использовании IPP 7?


person Oliver Zendel    schedule 20.03.2012    source источник
comment
Мне любопытно, получили ли вы ответ о том, что это за исключение, я получаю его только при завершении работы приложения (на VS2008)   -  person dashesy    schedule 10.10.2012


Ответы (1)


Что касается libiomp5md.dll, это зависимость от ippi-core-7.0.dll, поэтому любому двоичному файлу, созданному только для IPP 7, в конечном итоге также потребуется libiomp5md.dll. Эта DLL представляет собой библиотеку времени выполнения OpenMP, используемую различными программными продуктами Intel, включая IPP. Итак, эта DLL не относится к Composer.

Что касается исключения ссылки, я не могу дать никакого совета по этому поводу, кроме как попытаться сделать все возможное, чтобы ваш офис перешел на Visual Studio 2010 (и Windows 7, если уж на то пошло).

person Chris O    schedule 25.06.2012
comment
Спасибо, а разве нет ippi-core-7.0.dll без этого ограничения? - person Oliver Zendel; 11.07.2012
comment
@OliverZendel - К сожалению, нет, поэтому вам придется развернуть libiomp5md.dll вместе с DLL-библиотеками ippi. Однако на самом деле вам не нужно использовать функции OpenMP IPP, чтобы отключить их, вызовите ippSetNumThreads(1) перед вызовом любых других функций IPP. - person Chris O; 12.07.2012
comment
Похоже, это невозможно, я принимаю ваш ответ как правильный. Также мы наконец перестали использовать VS2005 :) - person Oliver Zendel; 18.04.2014