Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018

Как отключить JIT дебаггер студии не глобально, а только для своей программы

21.08.2012, 19:37. Показов 2802. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Установил в своей программе глобальный перехват исключений, чтобы в случае их появления выводилась специальная форма с просьбой к юзеру отправить багрепорт, после чего можно перезагрузить приложение. Так вот, на компьютерах без установленной Visual Studio все работает отлично. Ну а если установлена студия, тогда начинается полный кошмар с этим клятым дебаггером студии... При появлении необработанного исключения в моей программе дебаггер студии блокирует мою программу, в результате она не может показать специальной формы для пользователя. А вместо этого студия открывает свое тупое окно предлагая мою прогу отдебажить. И к тому же, если в моей программе было сделано так, чтобы при появлении исключения перезагрузить программу сразу же без показа формы, тогда начинается кошмар вдвойне. Дебаггер студии старый экземпляр программы закрыть не дает, но моя программа в обработчике перехваченного исключения успевает запустить еще один экземпляр программы. И если там возникло исключение снова, то все продолжается по рекурсии, пока комп не зависнет намертво из-за огромного количества запущенных экземпляров программы, и остается только перезагрузить комп RESET-ом. Как обойти это безобразие, запретив дебаггеру студии лезть в мою программу при появлении необработанного исключения?
Отключать дебаггер студии вручную на каждом компе, где запускается моя программа, понятное дело не выход. Как это сделать в самой программе?

Я тут нашел вот некоторую инфу, но что-то оно не работает, хотя я специально создал указанный файл в проекте с другими cs-файлами с указанным названием application.exe.config и следующим содержанием:
XML
1
2
3
<configuration>
  <system.windows.forms jitDebugging="false" />
</configuration>
Пробовал обзывать этот файл app.config, app.exe.config, application.exe.config, но все без толку. При запуске такой программы всеравно появляется ненавистное окно дебаггера VS. Может я что-то туплю с этим XML-файлом или неправильно его создаю?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2012, 19:37
Ответы с готовыми решениями:

Как отключить JIT оптимизацию?
При отладке не могу задать следующий выполняемый оператор Модуль указан с оптимизацией Хотя в настройках я ее отключил ...

Как программно отключить JIT Debugging?
В методе Main моей программы стоит блок try/catch, который в случае возникновения исключения должен сгенерировать отчет об ошибке и выдать...

Переключить раскладку клавиатуры только для своей программы
Всем здравствуйте. Вот код void __fastcall TForm1::FormActivate(TObject *Sender) { LoadKeyboardLayout(L&quot;00000419&quot;,...

12
21.08.2012, 19:53

Не по теме:

Цитата Сообщение от Tolias28 Посмотреть сообщение
И если там возникло исключение снова, то все продолжается по рекурсии, пока комп не зависнет намертво из-за огромного количества запущенных экземпляров программы
Поможет контроль запущенных копий программы.

1
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
21.08.2012, 20:01  [ТС]
Цитата Сообщение от locm Посмотреть сообщение
Поможет контроль запущенных копий программы.
ну это понятно. Но все же как отключить появление окошка дебаггера студии? Я заметил, что этот дебаггер студии лезет не только в NET-программы, но и в любые другие программы с unmanaged-кодом. Как на уровне программы бы это отключить/запретить
0
 Аватар для LeniumSoft
1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
21.08.2012, 20:10
А может тебе стоит в другом направлении капнуть! Потому как если это для той проги о которой я думаю этот номер не прокатит! Файл с настройками лежит всегда рядом с самой прогой. Тебе думаю стоит ошибочки пообрабатывать и всё! Хочешь кинь исходники пообрабатываю как время будет!
1
251 / 163 / 14
Регистрация: 10.03.2012
Сообщений: 544
21.08.2012, 20:12
Tolias28, файл app.exe.config должен называться <program_name>.exe.config. Т.е. если прога именуется svchost.exe, файлик называется svchost.exe.config и лежит всегда в папке с прогой.
1
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
21.08.2012, 20:54  [ТС]
Цитата Сообщение от LeniumSoft Посмотреть сообщение
Тебе думаю стоит ошибочки пообрабатывать и всё!
В этом мире ничего идеального нет. И написать идеальное приложение тоже к сожалению никогда не получится... Иначе почему были придуманы глобальные перехваты исключений Программа, которая безошибочно работает на одном компе, на втором компе может вызвать ошибку, причина в которой может быть даже не в программе, а попросту из-за того, что пользователь программу запустит в необычных обстоятельствах под необычными правами. Так что победить дебаггер студии всеравно надо...

Добавлено через 30 минут
Короче, я так
Цитата Сообщение от iprog Посмотреть сообщение
файл app.exe.config должен называться <program_name>.exe.config. Т.е. если прога именуется svchost.exe, файлик называется svchost.exe.config и лежит всегда в папке с прогой
Всеравно не работает

Добавлено через 1 минуту
Короче я пока вижу выход один: оборачивать все методы и всевозможный код в программе в блоки try{}catch{}
0
22.08.2012, 17:00

Не по теме:

В этом мире ничего идеального нет. И написать идеальное приложение тоже к сожалению никогда не получится...
Ради, интереса, сколько строк в твоем коде?

0
22.08.2012, 17:12  [ТС]

Не по теме:

Цитата Сообщение от nrv Посмотреть сообщение
Ради, интереса, сколько строк в твоем коде?
В одной программе 1722. Во второй - 4798 (не включая файлы, созданные дизайнером студии). Есть еще несколько штук, но в них будет чуть поменьше - около 2500-4000 штук наверное.
Чем вызван такой интерес к количеству строк?

0
22.08.2012, 18:45

Не по теме:


Интересно, кому сколько строк нужно, чтобы запутаться в своем коде(сужу по тому, что эксепшены по ходу все время вылазят). Мне бы наверное, хватило меньшего количества :(

0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
22.08.2012, 19:57  [ТС]
Нет, эксепшены вылазят редко. Но когда вдруг вылазит... тогда дебаггер студии проявляет себя во всей своей "красоте".. Просто там, где я использую эту прогу, количество появлений дебаггера важно свести не то что к минимуму, а вообще к нулю, потому я так озабочен этой темой.
0
51 / 38 / 5
Регистрация: 14.01.2012
Сообщений: 127
22.08.2012, 22:43
Как вариант если вдруг используешь экспресс версию студии, то она не умеет делать release версию, мб быть это причина.
0
213 / 139 / 8
Регистрация: 18.08.2010
Сообщений: 1,018
23.08.2012, 12:05  [ТС]
Цитата Сообщение от nrv Посмотреть сообщение
Как вариант если вдруг используешь экспресс версию студии, то она не умеет делать release версию, мб быть это причина.
Во первых: Express-версия умеет делать Release-версию. Просто ее надо включить в настройках, перед этим включив режим опытного пользователя (как это точно делается уже не помню, так как сейчас под рукой Express-версии нет. Но то, что там есть релиз-режим - это точно, так как сам собственноручно раньше пользовался)
Во вторых: Нету разницы как скомпилена прога - Debug или Release - дебаггер студии всеравно будет появляться одинаково и там и там, если в программе вылетит необработанное исключение.
В третьих: я Express-версией не пользуюсь
0
51 / 38 / 5
Регистрация: 14.01.2012
Сообщений: 127
23.08.2012, 13:51
Та же вроде инфа, но поподробнее и не только для VS 2005/.net 3.0
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.08.2012, 13:51
Помогаю со студенческими работами здесь

Заплатка для своей программы посредством другой своей программы
Доброго времени... друзья! Есть программа: program Project1; uses Windows; var

Как отключить окно сообщение "Выберите JIT-отладчик"?
Как отключить сообщение &quot;Выберите JIT-отладчик&quot;? Или, что делать если оно выскакивает?

Как создать установщик для своей программы
ребят, задался вопросом создания установщика программ самый наипростейший способ как я понимаю, банальное копированием файлов ...

Как создать установщик для своей программы
Создал несколько программ и хотел бы похвастаться своими так скажем &quot;достижениями&quot; в области vb со своим преподавателем. Программы...

Задать глобально горячие клавиши только для своего приложения
Private Sub Avtorizacia_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru