2016-02-12 2 views
0

У нас есть библиотеки C++, скомпилированные с 2010, вызываемые приложением в CSharp .net 4.0. C++ выводит три IntPtr (s), которые затем преобразуются в Bitmap (s) с использованием Bitmap.FromHbitmap. Все отлично работало в Windows 7. Мы обновили Windows 10. Теперь, с перерывами, исключение SEH попадает в код CSharp. Кто-нибудь испытывал подобную проблему или имел какие-либо предложения? Дайте мне знать, если вы хотите отправить код. Спасибо. Net вызов C++ с перерывами в работе в Windows 10

+0

Я могу предложить найти проблему и исправить ее ... – immibis

+0

Проводка всего кода не будет полезна. stackoverflow.com не является бесплатной службой отладки кода. –

+0

Какие-либо выводы в SEH? –

ответ

0

Попробуйте перекомпилировать C++ DLL в среде Windows 10 и повторите попытку.

+0

Я посмотрю, смогу ли я это сделать. Парень, который написал оригинальный код, ушел, и мне нужно попытаться его найти. – Johnny

+0

В настоящее время я не могу перекомпилировать из-за зависимостей от старых библиотек Intel. – Johnny

+0

Я попросил руководство для некоторых персонажей C++, и сегодня я получаю все настройки. Мы попытаемся построить на компьютере с Windows 10 с VS2010 в качестве отладки, чтобы получить PDB оттуда. Я дам вам, ребята, знать, как все идет. Вероятно, будет несколько дней. – Johnny

0

Мой коллега смог определить проблему. Это была проблема с указателем внутри кода C++. Вот его комментарии: ImageToResize должен быть ссылкой, поскольку он переназначается здесь. Единственная причина, по которой этот код функционировал ранее, по-видимому, связан с тем, что cvReleaseImage(), за которым следует cvCreateImage(), произошло повторное использование одной и той же памяти (большую часть времени), поэтому ничего не переместилось. Параметр был изменен с: * ImageToResize до * & ImageToResize. Итак, это, возможно, было признаком разных стилей распределения памяти между Windows 7 и Windows 10. Я надеюсь, что это поможет кому-то в будущем.