Easyelectronics.ru

Электроника для всех
Текущее время: 24 июн 2017, 20:40

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



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

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

Зарегистрирован: 23 авг 2014, 11:01
Сообщения: 418
Здравствуйте, поделитесь мыслями как решить данную проблему. Я использую 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 Кб | Просмотров: 1254 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ошибки при отладки проекта с++
СообщениеДобавлено: 14 фев 2017, 14:50 
Старожил

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


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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
Сообщения: 32
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
Сообщения: 418
Проект из изначально был написан в 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
Сообщения: 32
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
Сообщения: 418
Как только я нажимаю Step in (клавиша F11) сразу вылетает ошибка.


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

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

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


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

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

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

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

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


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

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


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

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


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

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


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

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2092
Откуда: Санкт-Петербург
Сейчас попробую... (пишу, чтобы другие усилия не дублировали)
Вкратце проблемы:
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
Сообщения: 115
Я бы посмотрел, да студию надо ставить. Может попробую.


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

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


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

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2092
Откуда: Санкт-Петербург
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
Сообщения: 115
aamonster, у меня 15 студия. Завтра попробую ради интереса еще раз.


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

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


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

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


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

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

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

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


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

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


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

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


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

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


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

Сейчас этот форум просматривают: Evgen339, Google [Bot], h4lf


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

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

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