Realtek невозможно запустить службу из командной строки или отладчика
Здравствуйте. Помогите пожалуйста решить проблему. При запуске Realtek Audio Console появляется ошибка: невозможно подключиться к службе rpc. Раньше все нормально работало, но вот в какой момент перестало не могу сказать, так как не часто запускал. Звук работает нормально. Перечитал наверно весть интернет, пробовал разные советы, но не помогает. Материнская плата MSI-X570A-PRO, БИОС X570-A PRO (MS-7C37) V17.9, процессор 5 3600X. Не знаю какие еще данные нужны. На сайте производителя мат.платы есть еще новее БИОС, но не думаю, что это поможет. Все драйвера новые
Эта цепочка заблокирована. Вы можете просмотреть вопрос или оставить свой голос, если сведения окажутся полезными, но вы не можете написать ответ в этой цепочке.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Способ №3 (запуск с параметрами командной строки)
Есть еще способ — предусматривать возможность запуска службы как консольного приложения. Например, в командной строке передавать /console, и если этот флаг установлен, стартовать приложение как консольное, если нет — как службу.
Преимущества такого подхода:
Очень просто отлаживать, по сути дела, как обычное консольное приложение. В консоль можно выводить отладочную информацию
Способ №2 (подключение отладчика из исходного кода)
Этот код подключает отладчик к процессу и компилируется только в режиме DEBUG . Теперь для отладки службы её нужно запускать не из Visual Studio, а с помощью консоли управления службами (или команды net start ). Сразу после запуска появится диалоговое окно выбора отладчика:
Выбираете запущенный экземпляр Visual Studio, нажимаете Yes и наслаждаетесь отладкой!
Ответы (3)
Можно попробовать отключить быстрый запуск компьютера. Его отключение очистит оперативную память компьютера от возможного мусора.
Довольно большое количество проблем иногда решает именно такой совет про выключение)
Для того, чтобы это сделать, нажмите Пуск, Выключение и удерживая клавишу Shift, Завершение работы.
Если не поможет, тогда попробуйте выполнить проверку на ошибки и восстановление системных файлов.
Для этого нажмите правой кнопкой на меню Пуск, выберите командная строка (администратор). Или "Windows PowerShell (администратор)".
В открывшемся окне напечатайте Dism /Online /Cleanup-Image /RestoreHealth и нажмите Enter.
Команда начнет выполняться, нужно подождать(иногда команда может выполняться и 30 минут, в это время может показаться, что всё "зависло")
Обращайте внимание на пробелы в командах.
Затем напечатайте sfc /scannow и нажмите Enter.
Если и чистая загрузка не поможет-создайте нового пользователя и проверьте в нём, сохраняется ли проблема.
__
Если мой ответ вам помог, пожалуйста, отметьте его как ответ.
Disclaimer: В ответе могут быть ссылки на сайты не на сайты Microsoft, Все советы с таких сайтов Вы выполняете на свой страх и риск.
Оскорбление — это любое поведение, которое беспокоит или расстраивает человека или группу лиц. К угрозам относятся любые угрозы самоубийством, насилием, нанесением ущерба и др. Любое содержимое для взрослых или недопустимое на веб-сайте сообщества. Любое изображение, обсуждение наготы или ссылка на подобные материалы. Оскорбительное, грубое или вульгарное поведение и другие проявления неуважения. Любое поведение, нарушающее лицензионные соглашения, в том числе предоставление ключей продуктов или ссылок на пиратское ПО. Незатребованная массовая рассылка или реклама. Любые ссылки или пропаганда сайтов с вирусным, шпионским, вредоносным или фишинговым ПО. Любое другое неуместное содержимое или поведение в соответствии с правилами использования и кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другими вариантами оскорбления или эксплуатации детей.
Не удается запустить службу из командной строки или отладчика. служба Windows должен быть установлен с помощью программы installutil.exe, а затем началось с обозреватель серверов, службы windows Средства администрирования или NET start команда.
Я действительно понятия не имею об этой ошибке.
прежде чем служба Windows может работать, она должна быть" установлена " сначала с помощью installutil. Например:
затем вы можете открыть список служб, чтобы запустить его. Например:
- Правой Кнопкой Мыши "Мой компьютер"
- нажмите "Управление"
- откройте "службы и приложения"
- нажмите на "услуги"
- найти сервис в списке и щелкните его правой кнопкой мыши
- нажмите 'Start'
после запущенный, вы можете войти в Visual Studio, нажмите "отладка", затем нажмите "прикрепить к процессу".
другой метод-добавить эту строку в метод OnStart () в сервисе:
когда вы это сделаете,он предложит вам выбрать экземпляр Visual Studio для отладки службы.
вы можете изменить режим запуска сборки в зависимости от того, находитесь ли вы в режиме отладки (обычно внутри Visual Studio, но не обязательно) или в режиме выпуска (когда он работает как Служба в производстве):
техника взята из в этой статье и заслуга автора статьи, Tejas Vaishnav. Я скопировал фрагменты кода здесь, потому что так предпочитает полные ответы, а не ссылки, которые может, когда-нибудь исчезнет.
пожалуйста, проверьте, находитесь ли вы в режиме" DEBUG "или" RELEASE". Я получил эту ошибку, когда пытался отладить службу в режиме" RELEASE". Когда я изменил это на "DEBUG", все работало нормально.
Это после того, как вы правильно установили службу, как это было предложено другими людьми выше.
добавьте это в начало программы.Main (), перед кодом, использующим ServiceBase для запуска службы:
как onStart и OnStop методы являются protected в сервис вам нужно чтобы добавить другой метод к этому классу, который вы можете запустить из Main () и вызывает эти методы для вас, такие как:
наконец, убедитесь, что вывод является консольным приложением в свойствах проекта.
теперь вы можете запустить исполняемый файл службы, как и любой другой, и он начнется как консоль. Если вы запустите его из Visual Studio, отладчик подключится автоматически. Если вы зарегистрируете его и запустите как службу, он будет работать правильно как Служба без каких-либо изменения.
единственное отличие, которое я нашел, заключается в том, что при запуске в качестве консольного приложения код не записывается в журнал событий, вы можете захотеть вывести все, что вы обычно регистрируете там на консоли.
Невозможно запустить службу из командной строки или отладчика. Службу Windows необходимо установить с помощью installutil.exe, а затем запустить с помощью проводника сервера, инструментов администрирования служб Windows или команды запуска NET.
Я действительно понятия не имею об этой ошибке .
Перед запуском службы Windows ее необходимо «установить» с помощью installutil. НАПРИМЕР:
Затем вы можете открыть список служб, чтобы запустить его. НАПРИМЕР:
- Щелкните правой кнопкой мыши "Мой компьютер".
- Нажмите "Управление".
- Откройте «Сервисы и приложения».
- Щелкните "Услуги".
- Найдите свою службу в списке и щелкните ее правой кнопкой мыши.
- Нажмите "Пуск".
После запуска вы можете войти в Visual Studio, щелкнуть «Отладка», затем щелкнуть «Прикрепить к процессу».
Другой способ - добавить эту строку к вашему методу OnStart () в службе:
Когда вы это сделаете, вам будет предложено выбрать экземпляр Visual Studio для отладки службы.
Вы можете изменить режим запуска сборки в зависимости от того, находитесь ли вы в режиме DEBUG (обычно внутри Visual Studio, но не обязательно) или в режиме RELEASE (когда он работает как служба в производственной среде):
Метод взят из этой статьи и благодарим автора статьи Теджаса Вайшнава. Я скопировал здесь фрагменты кода, потому что SO предпочитает полные ответы, а не ссылки, которые через некоторое время могут исчезнуть.
Для решения этой проблемы создан пакет nuget: install-package WindowsService.Gui
Что делает пакет?
Это помогает, создавая пользовательский интерфейс воспроизведения / остановки / паузы при работе с подключенным отладчиком, но также позволяет устанавливать и запускать службу Windows в среде служб Windows. И все это с помощью одной строчки кода! Что такое Service Helper. Если вы много пишете службы Windows, вам может быть неприятно иметь дело с головной болью, связанной с отладкой служб. Часто это включает уловки, хаки и частичные обходные пути для тестирования всего вашего кода. Для разработчиков служб Windows нет возможности «нажать клавишу F5».
Service Helper решает эту проблему, вызывая отображение пользовательского интерфейса при подключении отладчика, который имитирует (насколько это возможно) среду служб Windows.
Как пользоваться?
Самый простой способ включить Windows Service Helper в свой проект - использовать пакет NuGet ServiceProcess.Helpers в официальном канале NuGet.
Просто внесите несколько изменений в типичный код вашего приложения в "Program.cs":
Раскрытие информации: я поддерживаю этот проект
Примечание. Пользовательский интерфейс не является обязательным.
Добавьте это в начало Program.Main () перед кодом, который использует ServiceBase для запуска службы:
Поскольку методы OnStart и OnStop являются protected в вашей службе, вам необходимо добавить еще один метод к этому классу, который вы можете запускать из Main () и вызывает эти методы за вас, например:
Наконец, убедитесь, что вывод - это консольное приложение в свойствах проекта.
Теперь вы можете запустить исполняемый файл службы, как и любой другой, и он будет запускаться как консоль. Если вы запустите его из Visual Studio, отладчик подключится автоматически. Если вы зарегистрируете его и запустите как службу, он будет правильно работать как служба без каких-либо изменений.
Единственное различие, которое я обнаружил, заключается в том, что при запуске в качестве консольного приложения код не записывается в журнал событий, вы также можете вывести на консоль все, что вы обычно регистрировали бы там.
Пожалуйста, проверьте, находитесь ли вы в режиме «DEBUG» или «RELEASE». Я получил эту ошибку, когда пытался отладить службу в режиме «RELEASE». Когда я изменил это на «DEBUG», все заработало нормально.
Это происходит после того, как вы правильно установили службу, как было предложено другими людьми выше.
Другой причиной может быть то, что конфигурация решения находится в режиме выпуска вместо режима отладки
Есть более простой способ, чтобы шаг через код, чем запустить службу через диспетчер управления службами Windows, а затем присоединить отладчик к теме? Это'ы вроде громоздкой и я'м интересно, если есть более простой подход.
Этот вопрос имеет 1 ответ на английском, чтобы прочитать их войдите в свой аккаунт.
Если я хочу быстро отладить службу, я просто зайти в отладчик.Перерыв () там. Когда эта линия будет достигнута, она будет отвезти меня обратно в ВС. Дон'т забудьте удалить эту строку, когда вы закончите.
По вашему начала , просто вызвать этот метод:
Есть код включается только во время отладки. В то время как ваши на него, возможно, было бы полезно создать отдельную сборочную конфигурацию для отладки сервиса.
Я тоже думаю, наличие отдельного "по версии" и для нормального исполнения и в качестве услуги является способом пойти, но это действительно необходимо посвятить отдельный переключатель командной строки для этой цели?
Не мог'т вы просто сделать:
Что бы в "пользу" в том, что вы можете просто запустить приложение в DoubleClick (ОК, Если вам действительно нужно что) и что вы можете просто нажмите Ф5роз> в Visual студии (без необходимости изменения параметров проекта, чтобы включить, что `/консоль опция).
Технически, в среду.Проверяет описании свойства userinteractive если WSF_VISIBLE флаг установлен для текущего окна вокзала, но есть ли другие причины, где она будет возвращать значение false`, кроме как (не интерактивные) услуги?
Когда я создал новый проект службы несколько недель назад я нашел этот пост. В то время как есть много предложений, я до сих пор не'т найти решение, которое я хотела: возможность позвонить в службу классы' начала и `то onStop методы без каких-либо изменений к сервису классов.
Решение я придумал использует среду.Интерактивные выберите режим, как предполагают другие ответы на этот пост.
В RunInteractive помощник использует отражение для вызова защищенного методы методы onStart и то onStop :
Это все требует код, но я также писал прохождение с пояснениями.
Иногда важно анализировать то, что's идя дальше во время запуска службы. Присоединения к процессу не поможет здесь, потому что вы не достаточно быстро, чтобы присоединить отладчик, когда служба запускается.
Короткий ответ, я использую следующие 4 строки код для этого:
Они вставляются в методе onStart метод следующим образом:
Для тех, кто не'т сделали это раньше, я включил подробные рекомендации ниже, поскольку можно легко застрять. Следующие советы относятся к на Windows 7x64 и в Visual Studio 2010 с командой издания, но должен быть действителен для других средах тоже.
Важно: развертывание услуги в то"ручной" в режиме (используя утилиту одним из наиболее важных системных из командной строки или против запустить проект установки сервиса вы подготовили). Откройте Visual Studio с до вы запустите службу и загрузить раствора, содержащего служба'ы исходный код - настройка дополнительных точек останова, сколько требуется их в Visual студии - запустите службу по обслуживание панели управления.
Впоследствии, особенно в Windows 7 контроль учетных записей может появиться запрос на ввод учетных данных администратора. Введите их и нажмите даКБД>:
После этого, известный визуальная студия просто в окне отладчика появляется. Он просит вас, если вы хотите отлаживать с помощью отладчика delected. Перед тем как вы нажмете дароз>, выберите, что вы Дон'т хотите открыть новый экземпляр (2-й вариант) - новый экземпляр бы не быть полезным здесь, потому что исходный код не'т быть показано. Так что вы выберите экземпляр Visual Studio вы'вместо того, чтобы ве был открыт раньше:
После того как вы нажали даКБД>, через некоторое время в Visual Studio покажет желтую стрелку вправо в строке, где отладчика.Заявление запустить , и вы сможете отлаживать ваш код (метод MyInitOnStart, которая содержит в инициализации).
При нажатии Ф5роз> продолжает выполнение немедленно, до следующей точки останова вы подготовили достигается.
Подсказка: чтобы сохранить служба работает, выберите отладка -> отсоединить все. Это позволяет запускать клиент общении со службой после того, как он начал правильно и вы'вновь закончил отладку кода запуска. Если вы нажмете сдвигКБД и GT;+Ф5роз> (остановить отладку), это позволит прекратить обслуживание. Вместо этого, вы должны использовать панель управления чтобы остановить его.
Примечание это
Если вы строите выпуска, то отладочный код будет автоматически удалено и служба работает нормально.
Я использую отладчика.Запуск() , который начинается и присоединяет отладчик. Я испытал отладчика.Перерыв () , который не получилось, потому что нет отладчика прилагается на запуск сервиса еще (в результате чего то"Ошибка 1067: процесс был неожиданно завершен.&я;).
Как только вы привыкнете к нему, этот метод очень прост, потому что он просто требует, чтобы вы добавить 4 строки в существующий код услуги, что позволит вам быстро получить контроль и отладка.
Здравствуйте, хабралюди. Если вы никогда не писали службы Windows, но вам вдруг понадобилось, то этот небольшой пост для вас.
Если вы взялись за написание службы, то встаёт вопрос об её отладке. В интернетах в основном пишут про способ, который заключается в подключении отладчика к уже запущенному процессу службы, про альтернативу которому я и хочу рассказать. Т.к. служба — это не совсем обычный процесс Windows, просто запустить её из Visual Studio у вас не получится.
(в зависимости от версии установленной VS путь может отличаться)
После запуска консоли переходим в директорию, в которую собирается ваша служба в режиме Debug и устанавливаем её:
Более вам installutil.exe не потребуется. Для удобства запускаем консоль управления службами Windows:
Теперь консоль Visual Studio можно закрыть.
Переходим к самому интересному :-)
Способ №1 (подключение отладчика)
- Запустите службу с помощью консоли управления службами Windows.
- В Visual Studio выберите
Читайте также:
- Каков информационный вес одного символа компьютерного алфавита мощность которого равна 256
- Антивирус необходимо обязательно устанавливать на компьютер или это необязательно
- Один или несколько файлов не соответствуют основному файлу базы данных
- Ошибка загрузки языкового файла
- Какой чипсет лучше b550 или x570