Ошибка подключения Adb: существующее соединение было принудительно закрыто удаленным хостом [duplicate]

В то время как , что вызывает NullReferenceExceptions и подходит к avoid / fix , такое исключение было рассмотрено в других ответах, что многие программисты не имеют " t узнал еще, как независимо отлаживать такие исключения во время разработки.

В Visual Studio это обычно легко благодаря Visual Studio Debugger .


Во-первых, убедитесь, что правильная ошибка будет обнаружена - см. . Как разрешить нарушение «Исключение System.NullReferenceException» в VS2010? Примечание1

Затем либо Начать с отладки (F5) , либо Приложить [отладчик VS] к запуску процесса . Иногда может быть полезно использовать Debugger.Break , в котором будет предложено запустить отладчик.

Теперь, когда NullReferenceException выбрано (или необработанно), отладчик остановится ( помните правило, указанное выше?) в строке, на которой произошло исключение. Иногда ошибка может быть легко обнаружена.

Например, в следующей строке единственный код, который может , вызывает исключение, если myString имеет значение null. Это можно проверить, посмотрев окно Watch или выполнив выражения в окне Immediate Window .

var x = myString.Trim();

В более сложных случаях, таких как следуя ниже, вам нужно будет использовать один из методов выше (Watch или Immediate Windows) для проверки выражений, чтобы определить, было ли str1 пустым или если str2 имеет значение null.

var x = str1.Trim() + str2.Trim();

Once , где было выбрано исключение, это обычно тривиально по отношению к разуму назад, чтобы выяснить, где введенное значение null было [неправильно] -

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


1 Если Break on Throws слишком агрессивен и отладчик останавливается на NPE в библиотеке .NET или сторонних разработчиков, Break на User-Unhandled можно использовать для ограничения выловленных исключений. Кроме того, VS2012 представляет Just My Code , который я рекомендую также включить.

Если вы отлаживаете с включенным Just My Code, поведение немного отличается. При включенном Just My Code отладчик игнорирует исключения, связанные с привилегиями обычного языка (CLR) первого шанса, которые выходят за пределы My Code и не проходят через My Code

blockquote>

49
задан Josh Caswell 14 September 2011 в 05:51
поделиться

7 ответов

Ну, не обязательно перезапускать эмулятор, вы также можете сбросить adb из самого eclipse.

1.) Перейдите в DDMS и есть опция сброса adb, см. изображение ниже. enter image description here [/g0]

2.) Вы можете перезапустить adb вручную из командной строки

  run->cmd->your_android_sdk_path->platform-tools>

Затем запишите следующие команды.

adb kill -server - принудительно убить сервер

adb start-server - запустить сервер

ОБНОВЛЕНО:

F:\android-sdk-windows latest\platform-tools>adb kill-server

F:\android-sdk-windows latest\platform-tools>adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
47
ответ дан Lalit Poptani 28 August 2018 в 06:26
поделиться

В моем случае сброс ADB не изменил ситуацию. Мне также нужно было удалить существующие виртуальные устройства, которые были довольно старыми, и создать новые.

6
ответ дан anon 28 August 2018 в 06:26
поделиться

В моем случае, о котором ни один из вышеперечисленных ответов не был указан. Если ваше устройство использует разъем miniUsb, убедитесь, что вы используете кабель, который не заряжен. Я стал привыкнуть к разработке с использованием нового устройства Usb-C и не мог понять, что кабель с зарядовой связью был смешан с моим пакетом, особенно потому, что нет видимого способа рассказать о различии.

Перед тем, как удалить и пройдите кошмар переустановки драйвера и опции меню Android. Сначала попробуйте использовать другой кабель.

0
ответ дан Dave Friedel 28 August 2018 в 06:26
поделиться

Переход на другой порт USB работает для меня. Я попытался сбросить ADB, но проблема все еще существует.

13
ответ дан Jason H 28 August 2018 в 06:26
поделиться

Я знаю, что я опаздываю на 4 года, но мой ответ для всех, кто, возможно, не понял этого. Я использую Samsung Galaxy S6, что сработало для меня:

  1. Отключить отладку USB
  2. Отключить режим разработчика
  3. Отключить устройство от USB-кабель
  4. Включить режим разработчика
  5. Повторно включить отладку USB
  6. Подсоединить кабель USB к вашему устройству

Важно, чтобы вы делали это в этом порядке, так как это не сработало, пока это не было сделано в этом порядке.

6
ответ дан kaio37k 28 August 2018 в 06:26
поделиться

Похоже, что установленный драйвер находился в плохом состоянии. Вот что я сделал, чтобы заставить его работать:

  1. Удалить устройство из диспетчера устройств.
  2. Повторно сканировать аппаратные изменения.
  3. «Slate 21» будет отображаться с статусом «Неизвестный драйвер».
  4. Нажмите «Обновить драйвер» и выберите / extras / google / usb_driver
  5. Диспетчер устройств найдет драйвер и предупредит вас об установке его , Выберите «Да».

На этот раз устройство правильно установлено.

Обратите внимание, что мне не нужно было изменять файл winusb.inf или обновлять любой другой драйвер.

Надеюсь, это поможет.

9
ответ дан Peter 28 August 2018 в 06:26
поделиться

Window -> Show View -> device (если не найдено -> Other -> Device) с правой стороны, есть стрелка, щелкните по нему, вы увидите сброс adb, просто нажмите и наслаждайтесь! Это сработало для меня.

2
ответ дан thefourtheye 28 August 2018 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: