Visual Studio 2015 vshub는 스팸 피들러입니다.


201

읽은 내용 : 시스템 트레이에서 VsHub.exe를 비활성화하는 방법은 무엇입니까? 및 https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off

vshub를 비활성화하지 않는 것이 좋습니다. 피들러를 사용할 때 더 조용히하고 싶습니다. 지금은 다른 모든 것을 스팸으로 처리하여 일반적인 디버깅을 수행 할 수 없습니다.

아무도 해결책을 알고 있습니까? 나머지 locahost를 차단하지 않고 vshub가 피들러에 나타나지 않도록 차단할 수 있습니까?

답변:


268

System.NET이 로컬 호스트의 프록시 설정을 무시하는 데 사용 되었기 때문에 비교적 새로운 문제입니다. 따라서 Fiddler는 기본적으로 트래픽을 보지 못합니다 ( http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/ConfigureDotNETApp ). -하단 섹션을 참조하십시오.

이제는 더 이상 그렇지 않은 것으로 보이므로 더 많은 사람들이 같은 질문을 할 것으로 기대합니다. Fiddler는 여러 가지 방법으로 요청을 필터링 할 수 있지만 클라이언트가 제어 할 수있는 것은 아무것도 없습니다 (트래픽이 멀웨어에서 트래픽을 배제하지 않기를 원하므로 좋을 것입니다). 이 경우 가장 적절하고 간단한 메커니즘은 아마도 localhost 또는 vshub를 포함하는 모든 URL에 대한 필터를 설정하는 것입니다. 당신은 그것을 할 수 있습니다 :

  1. 필터 탭 (검사기, 통계 등과 같은 수준의 최상위 탭)을 클릭합니다.
  2. '필터 사용'이라는 확인란을 선택하십시오.
  3. 아래로 스크롤하여 'URL에 포함 된 경우 숨기기'확인란을 찾습니다.
  4. 해당 확인란을 선택하고 함께 제공되는 텍스트 상자에 localhost 또는 vshub를 입력하십시오.
  5. vshub 트래픽이 즉시 중지됩니다.

이 필터는 계속 유지되므로 Fiddler를 종료했다가 나중에 다시 시작해도 여전히 설정됩니다.


4
감사합니다, @Anson. 이 엄청난 양의 요청을 숨기면 Fiddler를 다시 사용할 수있게됩니다. 그러나 이것은 여전히 ​​심각한 문제로 남아 있습니다. 또한 Visual Studio 또는 그 이후의 관련 프로세스가 왜 이러한 요청을 먼저 수행하는지 궁금합니다. 이로 인해 불편을 겪고 있다면 MS Connect 버그 # 1919828 및 / 또는 ASP.NET MVC 문제 # 3655 에 대한 투표를 추가 하십시오 .
— Juliën

4
추가하기 위해 || browserlink와 같은 다른 요청을 숨기려면 'URL이 포함 된 경우 숨기기'상자에 연산자를 입력하십시오.
— Nick Spicer

4
@Moriarty re: ...why Visual Studio is making these requests... 음, 프로세스가 루프백 어댑터의 HTTP를 통해 서로 통신하기 때문입니다. . 이 트래픽은 "한동안"생성되었습니다. 최근에 HTTP 프록시에 기본적으로 표시되도록 변경되었습니다 ... 그래서 왜 이것이 버그라고 생각하는지 모르겠습니다.
— K. Alan Bates

2
Visual Studio 2015의 새로운 원격 디버깅 도구의 부작용은 확실합니다. 특히 Apple 디바이스의 Cordova에 대한 크로스 플랫폼 디버깅과 관련하여 더 나아가고 싶습니다. 그들은 아마도 이러한 변경 사항을 나중에 다른 플랫폼으로 확장 할 수있는 방식으로 구축했기 때문에 글로벌 변경 사항 일 수 있습니다.
— Bon

1
이것은 올바른 해결책이 아닙니다. 그냥 문제를 숨 깁니다. VS에서 디버깅하는 동안 진단 도구를 제거하는 아래의 솔루션이 진정한 솔루션입니다.
— Rafi

132

이러한 요청은 디버깅 할 때 실행되는 진단 도구 창에서 온 것으로 보입니다. 메모리 사용량 및 CPU 사용량에 대한 모니터링 정보를 제공하는 것처럼 보입니다.

진단 도구 대화 상자에서 메모리 / CPU 모니터링을 비활성화하여 사용 정보를 보지 않으려면 요청을 중지 할 수 있습니다.

  • 진단 도구 창을여십시오 (디버그-> Windows-> 진단 도구 표시)
  • "도구 선택"드롭 다운을 클릭하고 메모리 사용 및 CPU 사용을 선택 취소하십시오.
  • 디버깅을 중지하고 다음에 디버깅을 시작할 때 vshub에 대한 요청이 더 이상 표시되지 않습니다

10
이것이 올바른 해결책입니다. 모든 스팸 메시지를 즉시 제거했습니다. 지금은 CPU / 메모리를 신경 쓰지 않고 올바르게 사용하려면 피들러가 깨끗해야합니다. 이 수정에 대해 Alex에게 감사합니다.
— Pic Mickael

6
이는 한 번만 도움이되지만 Vusial Studio에서 "진단 도구"를 비활성화 할 수 있습니다. 도구-> 옵션-> 디버깅-> 일반-> 확인란 "디버깅 중 진단 도구 활성화"
— Andrey Prokhorov

1
Visual Studio 2015에서 "도구 선택"드롭 다운을 찾을 수 없습니다. 어디에 있는지 아십니까?
— Per Lundberg

1
@PerLundberg "도구 선택"을 찾을 수 없으면 아래에서 Brian의 답변을 시도하십시오 (이 의견에서 Andrey의 답변과 동일). 이것은 현재 메모리 / CPU 모니터링을 항상 비활성화 상태로 유지하기 위해 선호하는 솔루션입니다. 필요한 경우 활성화 방법을 알고 있습니다.
— Alex

디버그 세션에 있고 Alex의 옵션을 사용하는 경우 메모리 / CPU 모니터링이 중지되는 동안 디버그 세션을 중지했다가 다시 시작할 때까지 요청이 수행되지 않습니다! 어려운 길을 찾았습니다.
— vapcguy

88

필자가 선택한 Fiddler 필터 대신 Fiddler4로 "스팸 핑"을 중지하는 수정은 Visual Studio 2015 옵션을 변경하는 것이 었습니다.

Visual Studio 2015-> 도구-> 옵션-> 디버깅-> 일반-> "디버깅 중 진단 도구 사용"을 선택 취소 / 비활성화

여기에 이미지 설명을 입력하십시오

VSHUB.exe 서비스는 디버깅하는 동안 진단 도구를 지원하고 디버깅중인 웹 사이트 / webapi / web 앱을 계속 핑 (ping)하는 서비스 여야합니다. 디버깅이 필요하지 않습니다. 현재 진단 도구이므로 Visual Studio에서 비활성화했습니다.

VSHUB.exe를 비활성화하는 것과 관련하여 Microsoft의 누군가가 읽을 때까지 더 나은 Visual Studio 2015 경험을 위해 비활성화하지 않는 것이 가장 좋으며 VSHUB.exe를 활용하는 새로운 기능을 Visual Studio에 추가합니다. 시각:

시스템 트레이에서 VsHub.exe를 비활성화하려면 어떻게합니까?


@BrianOgden Phew! 감사합니다. 마지막으로 VS 2015 답변입니다. Visual Studio의 메뉴는 각 릴리스마다 크게 달라졌습니다. 갑자기이 도구 (VsHub)가 엉 키게되었고 그 이유를 모르겠습니다. Windows 10 자동 업데이트를 사용하면 몰랐을 수도 있습니다.
— octopusgrabbus

디버그 세션 도중에이 작업을 수행하면 디버그 세션을 중지했다가 다시 시작할 때까지 요청이 Fiddler에서 캡처되지 않습니다.
— vapcguy

21

디버깅하는 동안 Visual Studio의 진단 도구로 인해 문제가 발생합니다.

도구 ➜ 옵션 으로 이동 한 후 다음 단계에 따라 비활성화 할 수 있습니다 . 여기에 이미지 설명을 입력하십시오


멋진 그래픽. Brian Ogden은 이미 당신을 이겼습니다. 디버그 세션 도중에이 작업을 수행하면 디버그 세션을 중지했다가 다시 시작할 때까지 요청이 Fiddler에서 캡처되지 않습니다.
— vapcguy

@vapcguy 내 대답은하지 인정 해 다른 그러나 나는 이었다 그래픽을 첫번째 글입니다. Brian은 나중에 그래픽을 포함하도록 그의 답변을 편집했습니다. 사람들이 대답을 얻는 한 괜찮습니다.
— Sergey

20

이것은 vshub 트래픽을 숨기는 가장 쉬운 대안입니다.

도구> Fiddler 옵션> 연결 탭으로 http://localhost:49155이동하여 바이 패스 목록에 추가 하십시오. 해당 URL에 게시 된 모든 트래픽을 건너 뜁니다.

* 편집 : 바이 패스 목록에 추가 한 후 Fiddler를 다시 시작해야 할 수 있습니다.


2
이 변경은 Fiddler를 다시 시작한 후에 만 ​​적용되었습니다.
— Bassem

@Bassem, 그것은 또한 내 다시 시작하지 않고.
— Patel Pat

9

이 문제를 해결하는 가장 쉬운 방법은 피들러에서 필터를 설정하는 것입니다. OnBeforeResponse에서 vshub 호스트 / 포트가있는 경우 두 번째를 추가하십시오.

  static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }

    if (oSession.HostnameIs("localhost:49155")){
        oSession["ui-hide"] = "hiding vshub"; // String value not important
    }


    }

2

SpokaneDJ의 답변은 저에게 매우 도움이되었고 훌륭하게 작동했지만 Fiddler와 많은 시간을 보내지 않으므로이 작업을 수행하는 방법을 기억하는 데 잠시 시간이 걸렸습니다! 구체적인 지침은 다음과 같습니다.


먼저 Fiddler UI 내에서 Rules> 로 이동하십시오 Customize Rules. OnBeforeResponse기능을 검색하십시오 . 다음과 같아야합니다.

static function OnBeforeResponse(oSession: Session) {
  if (m_Hide304s && oSession.responseCode == 304) {
    oSession["ui-hide"] = "true";
  }
}

이제 기존 블록 뒤에 다음 if 블록을 추가하십시오 (다른 경우 vshub 호스트 / 포트로 대체).

    if (oSession.HostnameIs("localhost:49155")){
      oSession["ui-hide"] = "hiding vshub"; // String value not important
    }

귀하의 OnBeforeResponse기능은 다음과 같아야한다 :

  static function OnBeforeResponse(oSession: Session) {
    if (m_Hide304s && oSession.responseCode == 304) {
        oSession["ui-hide"] = "true";
    }

    if (oSession.HostnameIs("localhost:49155")){
        oSession["ui-hide"] = "hiding vshub"; // String value not important
    }
  }

0

위의 내용은 저에게 효과적이지 않았습니다. 로컬 호스트 호스트의 모든 피들러 모니터링을 종료하는 것처럼 보였습니다.

약간의 신중한 인터넷 검색은 나에게 또 다른 해결책을 주었다-포트를 OnBeforeRequest 섹션의 맨 아래에 추가하여 포트를 차단하는 방법은 다음과 같습니다.

if (oSession.host=="localhost:49155"){
    oSession["ui-hide"] = "true";
}

이것은 추가 로컬 호스트 트래픽을 방해하지 않고 Fiddler에서 포트 가보고되지 않도록 차단하는 것으로 보입니다.


1
여기에 대한 답변은 여러 가지 요인에 따라 위아래로 이동할 수 있으므로 "위의"라고 말하는 답변을 언급해야합니다.
— Sergey

페어 포인트. 당시에는 다른 모든 솔루션에 적용되었지만 이후 추가 된 것으로 보입니다. 앞으로도 그 점을 명심하겠습니다.
— Rich Howard
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.