Детализация ошибки .Net приложения

da_hedgehog

Есть приложение с исходниками под .Net. На компе A работает отлично, на компе B выдаёт ошибку "has encountered a problem and needs to close. We are sorry for the inconvenience." Никакого лога не прилагается. В журналах винды пусто.
Возможно ли чем-то посмотреть по-подробнее ? Поставить MVS на комп B не предлагать.

Serab

В какой момент грохается? Прога с интерфейсом? Падает еще до появления интерфейса?

da_hedgehog

прога оконная , грохается строго после запуска, ничего не показывает. Думаю что не находит какие-то библиотеки.

Serab

Да, скорее всего. Часто бывает одно из следующего:
.NET framework с нужным service pack
MSXML4
Если используется C++/CLI, то последний рантайм c++, vcredist

da_hedgehog

прога полностью на C#. Больше интересуют средства для более подробной диагностики ошибки.

Serab

Ну тут только если волшебная палочка :grin: Узнай, какая версия фрэймворка нужна (написано в свойствах проекта на первой вкладке установи его на целевой комп. Скорее всего полечит. Если там установлена нужная версия, то возможно понадобится еще и последний сервиспак для этой версии.

psihodog

прога полностью на C#. Больше интересуют средства для более подробной диагностики ошибки.
хм... попробуй Microsoft Visual Studio

IG_rok777

Поставить MVS на комп B не предлагать.
C# Express Edition тоже не катит?

da_hedgehog

Если ничего не найду то это будет лучший вариант

agaaaa

Есть приложение с исходниками под .Net. На компе A работает отлично, на компе B выдаёт ошибку "has encountered a problem and needs to close. We are sorry for the inconvenience." Никакого лога не прилагается. В журналах винды пусто.
Возможно ли чем-то посмотреть по-подробнее ? Поставить MVS на комп B не предлагать.
Обернуть код main в try{ ... } catch(Exception ) { MessageBox.Show(e.GetType.ToString e.Message); } для отладки не вариант?
Можно ещё Stack Trace тут же вывести.

da_hedgehog

вываливается до main 8 ( Явно библиотеки, но чем посмотреть какие именно ?

Serab

Установи .NET Framework

da_hedgehog

для настырных - на компьютере B стоит та же версия что и на А. Ошибку я уже нашёл и поправил, но хочется маленькой утилитки для таких вещей.

Serab

Ошибку я уже нашёл и поправил
ну так рассказал бы, чтобы товарищи на те же грабли не наступали.

Serab

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

okis

размышлениями типа «что я использовал в коде».
эти размышления в большинстве случаев начинаются и заканчиваются просмотром references.

Serab

Ну это в общем случае полезный процесс в программировании. На всех уровнях написания кода. Какие предположения о входных данных и т.д. С молоком матери, все дела...

da_hedgehog

проблема была в app.config:
было :
<probing privatePath="folder1" />
<probing privatePath="folder2" />
<probing privatePath="folder3" />
надо:
<probing privatePath="folder1;folder2;folder3" />
соответственно все dll которые лежали в folder2,3 приложение не видело

Serab

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

agaaaa

Программа разве до Main должна падать?

Dasar

Программа разве до Main должна падать?
будет падать, если не хватает либ для компиляции класса, содержащего функцию Main

Dasar

Явно библиотеки, но чем посмотреть какие именно ?
смотреть можно через Fuslogvw.exe
в .net sdk точно входит, в голый .net - входит или нет - не помню

da_hedgehog

пытался им смотреть, ничего не показывал для этого приложения 8( а должен козёл

da_hedgehog

Нашёл подезную штуку: http://www.dependencywalker.com/

Dasar

Нашёл подезную штуку: http://www.dependencywalker.com/
так она для C++, а не для .net

da_hedgehog

не стоит говорить что-то, не проверив. Сам качал и пользовал под .Net, всё работало

nik93

не стоит говорить что-то, не проверив. Сам качал и пользовал под .Net, всё работало
у меня дофига всего не показало, в частности библиотеки ГУИ и СУБД

Dasar

не стоит говорить что-то, не проверив. Сам качал и пользовал под .Net, всё работало
не стоит говорить что-то, если не понимаешь, что вообще делаешь.
еще хуже для своего развития - агрессивно защищать свое невежество.
depends.exe показывает только native-ные зависимости, для .net-приложения - это зависимость от mscoree.dll (плюс зависимости от тех native-ных либ, от которых зависит mscoree.dll, и далее по рекурсии)
для .net-приложения - эти зависимости смысла смотреть нет, т.к. у .net-приложения всегда будет одна native-зависимость от mscoree.dll (за исключением ряда редких случаев)

зависимости .net-приложения имеет смысл смотреть reflector-ом

da_hedgehog

А вот за обьяснение спасибо, был неправ, признаю.
Оставить комментарий
Имя или ник:
Комментарий: