Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2017, 08:43

Часовой пояс: UTC + 5 часов



    • JLCPCB for PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 25 ] 
Автор Сообщение
 Заголовок сообщения: Ошибки при отладки проекта с++
СообщениеДобавлено: 14 фев 2017, 13:39 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
Здравствуйте, поделитесь мыслями как решить данную проблему. Я использую VS 2013, Framework 4.0.

При отладки приложения VS 2013 выдает следующие ошибки:

"Необработанное исключение типа "System.IO.FileLoadException" в SampleAPL.exe
Дополнительные сведения: Сборка для смешанного режима построена на основе версии "v2.0.50727" среды выполнения и не может быть загружена в среде выполнения 4.0 без дополнительных конфигурационных данных.", но при сборке ошибок нет "========== Сборка: успешно: 0, с ошибками: 0, без изменений: 1, пропущено: 0 ==========".

Как убрать эту ошибку ?


Вложения:
2.png
2.png [ 113.05 Кб | Просмотров: 1619 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 14 фев 2017, 14:50 
Старожил

Зарегистрирован: 07 авг 2014, 17:15
Сообщения: 307
Откуда: дальнее надмосковье
Может это из-за японского языка в путях?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 14 фев 2017, 15:50 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
В каких путях ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 14 фев 2017, 16:19 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3437
zhilenkov писал(а):
В каких путях ?

Посмотри названия папок в проекте, там какие то иероглифы.

Ну и возможные ошибки надо всё же обрабатывать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 14 фев 2017, 22:03 
Заглядывает иногда

Зарегистрирован: 31 мар 2014, 22:42
Сообщения: 151
Откуда: Омск
Если в проекте вызываются функции обращающиеся к файлам, как то открывающие, изменяющие, пишущие, читающие, то я бы присмотрелся к тем строчкам кода, где они прописаны, ошибка скорее всего там :/

ПЫ СЫ неплохо бы еще описать ситуацию, т.е. условия, при которых возникает данная ошибка, потому что если я правильно понял проект у вас компиллируется и билдится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 15 фев 2017, 02:30 
Заглядывает иногда

Зарегистрирован: 15 ноя 2015, 12:11
Сообщения: 45
zhilenkov писал(а):
При отладки приложения VS 2013 выдает следующие ошибки:
"Необработанное исключение типа "System.IO.FileLoadException" в SampleAPL.exe

Точку в начало main(), дебаггеру "фас", и как встанет на ней - далее F11 по всем закоулкам, пока не подорвётся. По имени исключения можно предположить, что возбуждается оно вероятно при попытке открыть/прочитать некий файл, которого нет или недоступен для чтения/записи. А, кстати, попробуйте в main() всё обернуть в try { } catch (*) и глянуть расширенную информацию в объекте исключения - наверняка там и имя файла-шкодника будет записано.

*try {} catch - это если для истинного C++, а как оно в managed паскудстве коде перехватывается этого не знаю, подождём пока молодёжь с соответствующим бэкграундом подтянется и всё разжуётъ. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 15 фев 2017, 03:37 
Старожил

Зарегистрирован: 19 июн 2012, 14:17
Сообщения: 3437
siarzhuk писал(а):
*try {} catch - это если для истинного C++, а как оно в managed паскудстве коде перехватывается этого не знаю

Да оно везде try catch, и в плюсах, и в жабе, и в до диез...

хотя не, в делфях и питоне try except


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 16 фев 2017, 09:23 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
Проект из изначально был написан в visual studio 2008. У меня стоит visual studio 2013.
Компилируется и собирается без ошибок.
Show


При отладке пишет:
Show

Останавливается в mcrtexe.cpp на строчке
Код:
#if defined (_MANAGED_MAIN)
            mainret = main(arguments);
#else  /* defined (_MANAGED_MAIN) */
и вываливает сообщение
    Необработанное исключение типа "System.IO.FileLoadException" в SampleAPL.exe
    Дополнительные сведения: Сборка для смешанного режима построена на основе версии "v2.0.50727" среды выполнения и не может быть загружена в среде выполнения 4.0 без дополнительных конфигурационных данных


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 16 фев 2017, 14:33 
Заглядывает иногда

Зарегистрирован: 15 ноя 2015, 12:11
Сообщения: 45
zhilenkov писал(а):
Останавливается в mcrtexe.cpp на строчке
Код:
#if defined (_MANAGED_MAIN)
            mainret = main(arguments);
#else  /* defined (_MANAGED_MAIN) */

Оно не остановилось на входе в main, оно уже туда сходило, попыталось поработать с неким файлом, обломилось и выбросило исключение, исключение полетело по дереву вызовов, попутно раскручивая (unwinding) стек, не нашло в стеке ни одного try {} catch фрейма, который смог бы его обработать и было изловлено отладчиком уже на вылете из main как необработанное. Вы наблюдаете post-mortem состояние - Боржоми слегка запоздал. Поставьте точку прерывания вот на этом самом месте, перезапустите отладку и когда отладчик встанет на точке - входите "step in" в main() и шагайте так же далее, заходя в каждую функцию, пока не дойдёте до места, где исключение возбуждается. Другой вариант - в настройках дебаггера есть конфигурация прерываний (Debugger -> Exceptions...) в которой можно включить активацию дебаггера в месте выброса для разных категорий исключений. В этом случае дебаггер остановится в том месте, где произошла ошибка. Но - он будет вставать на любых исключениях этого типа - что при отсутствии опыта отладки, может запутать оператора - поскольку до момента искомой ошибки отладчик может поймать и штатно обрабатываемой программой исключение. Так что Step in хоть и дольше - но надёжнее.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 16 фев 2017, 15:14 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
Как только я нажимаю Step in (клавиша F11) сразу вылетает ошибка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 16 фев 2017, 15:46 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2188
Откуда: Санкт-Петербург
На уровне рефлекса: поставить галочку в этом мессэджбоксе и посмотреть на момент возникновения проблемы, а не когда уже исключение не поймали. Возможно, хотя бы увидите - обламывается на самом экзешнике или на каком-то подключаемом модуле.

Дальше - я бы, наверное, не стал сильно разбираться, а пересоздал проект заново из тех же исходников. Ну или на крайняк прошёлся бы по свойствам проекта, поискал упоминания о втором фреймворке и переключил на 4. Возможно, после этого где-то придётся поправить код, но это всё равно имеет смысл сделать.
Сообщение-то довольно ясное - у вас что-то собрано (или берётся готовое) под фреймворк 2.0.x, и при попытке загрузить этот файл - облом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 16 фев 2017, 17:35 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 475
Откуда: Китай, Пекин
для начала создаёшь визардом новый, пустой консольный проект, с настройками максимально близкими старому.

убеждаешься что этот пустой проект стартует без проблем,.... а они могут быть!

если проблемы есть, и сможешь сам исправить отлично, если не можешь или лень копаться переставь VS.

после того как пустой проект стартанул, подкидываешь в него исходники старого проекта.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 17 фев 2017, 12:29 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 19 ноя 2016, 19:52
Сообщения: 126
Попробуй в свойствах проекта переключить исполняемую среду(net framework) на ранние версии. Он ругается на версию сборки...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 17 фев 2017, 19:12 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
может кто посмотрит проект и скажет в чем проблема? Вот проект https://yadi.sk/d/t6yC4usq3E9pZb


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 17 фев 2017, 21:30 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 477
Откуда: GMT+6
zhilenkov писал(а):
может кто посмотрит проект и скажет в чем проблема?
Я в этом вашем managed C++ не понимаю, но вот рабочий проект
Вложение:
Mini_spectrometers_Hamamatsu.zip [50.97 Кб]
Скачиваний: 15


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 17 фев 2017, 23:47 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2188
Откуда: Санкт-Петербург
Сейчас попробую... (пишу, чтобы другие усилия не дублировали)
Вкратце проблемы:
1. Вы используете дотнетовскую либу от Hamamatsu, сделанную под .net 2.0. Чтобы она работала - вам надо и своё приложение делать под .net 2.0.
2. Чтобы переключить версию гопнета для C++ проекта - надо понизить и версию Platform Toolset (версия от 2013 не умеет под древнее говно), а для этого надо как минимум этот самый Platform Toolset поставить. Вроде самое простое - скачать visual studio 2008 express (собственно, ей можно просто скомпилить ваш проект). Да и переключение для C++ делается ручным редактированием .vcxproj файла.

3. Вариант Kelvin, наверное, оптимален для вас (только тут уже вам понадобится 2015 студия, он использовал расширения C# 6). Нет смысла учить Managed C++, когда можно просто пользоваться C#.

Хотя лучше было бы добыть более свежую версию HMSUSB2.dll. Может, если в Хамаматсу написать (мол, нужна версия вашей либы под .net 4.0 или 4.5) - они выдадут?

UPD: Таки можно использовать старое говно. Надо положить рядом с экзешником файл SampleAPL.exe.config следующего содержания:
Код:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>
(не знаю правильный способ воткнуть его в vcxproj, чтобы при сборке он падал, куда надо; рабочий, но корявый - post-build step; опять же, в C# всё делается менее извращённым образом - там можно просто указать, что это Settings File - ещё один довод в пользу отказа от Managed C++ в пользу C#).


Последний раз редактировалось aamonster 18 фев 2017, 01:44, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 01:11 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 19 ноя 2016, 19:52
Сообщения: 126
Я бы посмотрел, да студию надо ставить. Может попробую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 02:26 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 19 ноя 2016, 19:52
Сообщения: 126
Даже на на второй версии нет фреймворк не запустилась эта библиотека. Сборку студия читает, но при попытке использования сборки - выдает ошибку. Хз что тут посоветовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 02:47 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2188
Откуда: Санкт-Петербург
Madfisht3 писал(а):
Даже на на второй версии нет фреймворк не запустилась эта библиотека. Сборку студия читает, но при попытке использования сборки - выдает ошибку. Хз что тут посоветовать.

Да ладно, всё работает (2013 студия, проект импортирован, HMSUSB2.dll положен в него заново, рядом с SampleAPL.exe положен SampleAPL.exe.config). hHMSUSB2 = gcnew CHMSUSB2() успешно выполняется, а потом hHMSUSB2->HMS_initialize() закономерно обламывается - ну нету у меня спектрометра...

А если у вас та же ошибка, что у топик-стартера - то, возможно, вы не уговорили студию использовать .net 2.0. Вы Platform Toolset выставили на древний? Если оставить 2013 - будет собирать под 4.0.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 05:42 
Заглядывает иногда
Аватара пользователя

Зарегистрирован: 19 ноя 2016, 19:52
Сообщения: 126
aamonster, у меня 15 студия. Завтра попробую ради интереса еще раз.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 10:39 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
Когда учился мне дали лицензионный ключик на visual studio 2013, а тут получается нужна visual studio 2015. Где можно взять visual studio 2015 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 11:01 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 477
Откуда: GMT+6
https://www.visualstudio.com/ru/post-do ... lcid=0x419


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 12:12 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2188
Откуда: Санкт-Петербург
zhilenkov, Visual Studio Community - бесплатно, давно уже. Непонятно, зачем вам ключик на 2013 был.

А если решите 2008 скачать - то там была бесплатная Visual Studio Express. У неё есть несколько ограничений (в частности, отдельные студии для C++, C#, VB и т.д. - нельзя открыть воркспейс с разномастными проектами), но вам и её хватит.

Да, и я-то собрал именно 2013 (просто она уже была поставлена).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 21:21 
Старожил

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 456
Установил студию 2015. Запустил проект Kelvin. В консоль пишет "Dll Can not be Initialized".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 18 фев 2017, 21:45 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 477
Откуда: GMT+6
zhilenkov
Вы прибор то подключите и дрова на него поставьте.
И ещё, библиотека скомпилирована под x32, с x64 драйвером может быть не совместима.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB