visual studio 2015 vshub đang spam fiddler


201

Tôi đã đọc: Làm cách nào để tắt VsHub.exe trong khay hệ thống? https://connect.microsoft.com/VisualStudio/feedback/details/1919828/hundreds-of-calls-second-to-vshub-and-browserlink-is-off

Tôi muốn không vô hiệu hóa vshub; Tôi chỉ muốn nó yên tĩnh hơn khi tôi đang sử dụng fiddler. Ngay bây giờ, nó spam mọi thứ khác và tôi không thể sửa lỗi chung.

Có ai biết cách giải quyết không? Tôi có thể chặn vshub hiển thị trong fiddler mà không chặn phần còn lại của locahost không?

Câu trả lời:


268

Đây là một vấn đề tương đối mới vì System.NET được sử dụng để bỏ qua các cài đặt proxy cho localhost và do đó Fiddler sẽ không thấy lưu lượng truy cập theo mặc định ( http://docs.telerik.com/fiddler/Configure-Fiddler/T task /ConfigureDotNETApp ) - xem phần dưới cùng.

Bây giờ điều này dường như không còn là trường hợp nữa, vì vậy tôi hy vọng nhiều người sẽ có cùng câu hỏi. Fiddler hỗ trợ một số cách để lọc các yêu cầu, mặc dù không có gì mà khách hàng có thể kiểm soát (điều này có thể tốt, vì bạn sẽ không muốn phần mềm độc hại loại trừ lưu lượng truy cập của nó). Cơ chế thích hợp và đơn giản nhất trong trường hợp này có lẽ là đặt bộ lọc cho bất kỳ url nào chứa localhost hoặc vshub. Bạn có thể làm điều đó bằng cách:

  1. Nhấp vào tab bộ lọc (đây là tab cấp cao nhất, cùng cấp với người kiểm tra, thống kê, v.v.),
  2. Chọn hộp kiểm có nhãn 'Sử dụng Bộ lọc'
  3. Cuộn xuống và tìm hộp kiểm có nhãn 'Ẩn nếu URL chứa'.
  4. Chọn hộp đó và nhập localhost hoặc vshub vào hộp văn bản đi kèm.
  5. Bạn sẽ thấy giao thông vshub dừng ngay lập tức.

Bộ lọc này sẽ tồn tại, vì vậy nếu bạn tắt Fiddler và khởi động lại sau, nó vẫn sẽ được đặt.


4
Cảm ơn, @Anson. Ẩn số lượng yêu cầu khổng lồ này sẽ khiến Fiddler có thể sử dụng lại được. Nhưng điều này vẫn còn là một vấn đề nghiêm trọng, tất nhiên. Nó cũng khiến bạn tự hỏi tại sao Visual Studio, hoặc bất kỳ quá trình nào sau đó liên quan đến nó, lại đưa ra những yêu cầu này ngay từ đầu (retorical). Nếu bạn cũng bất tiện vì điều này, hãy thêm phiếu bầu cho lỗi MS Connect # 1919828 và / hoặc thông qua vấn đề ASP.NET MVC # 3655 .
Juliën

4
Chỉ cần thêm bạn có thể sử dụng | | toán tử trong hộp 'Ẩn nếu URL chứa' nếu bạn muốn ẩn các yêu cầu khác như liên kết trình duyệt.
Nick Spicer

4
@Moriarty re: ...why Visual Studio is making these requests... tốt, điều này là do các quá trình đang giao tiếp với nhau thông qua HTTP trên bộ điều hợp loopback. . Lưu lượng này đã được tạo trong "một thời gian" bây giờ; gần đây nó đã được thay đổi rằng nó được hiển thị theo mặc định cho các proxy HTTP ... vì vậy tôi không thực sự chắc chắn tại sao bạn lại coi đây là một lỗi.
K. Alan Bates

2
Đó là một tác dụng phụ của các công cụ sửa lỗi từ xa mới trong Visual Studio 2015, tôi khá chắc chắn. Đặc biệt liên quan đến gỡ lỗi đa nền tảng cho Cordova trên các thiết bị của Apple, tôi muốn đặt cược thêm. Có lẽ họ đã xây dựng những thay đổi này theo cách cho phép họ mở rộng nó sang các nền tảng khác sau đó, do đó thay đổi toàn cầu.
Bon

1
Đây không phải là giải pháp chính xác. Nó chỉ che giấu vấn đề. Các giải pháp bên dưới loại bỏ các công cụ chẩn đoán trong khi gỡ lỗi trong VS là giải pháp thực sự.
Rafi

132

Các yêu cầu này dường như đến từ cửa sổ Công cụ chẩn đoán chạy khi gỡ lỗi. Có vẻ như họ cung cấp thông tin giám sát cho Sử dụng bộ nhớ và Sử dụng CPU.

Bạn có thể dừng các yêu cầu nếu bạn không muốn xem thông tin sử dụng bằng cách tắt theo dõi Bộ nhớ / CPU trong hộp thoại Công cụ chẩn đoán.

  • Mở cửa sổ Công cụ chẩn đoán (Gỡ lỗi -> Windows -> Hiển thị Công cụ chẩn đoán)
  • Nhấp vào thả xuống "Chọn công cụ" và bỏ chọn Kiểm tra sử dụng bộ nhớ và Sử dụng CPU.
  • Dừng gỡ lỗi và lần sau khi bạn bắt đầu gỡ lỗi, bạn sẽ không còn thấy các yêu cầu được thực hiện cho vshub

10
Đó là giải pháp chính xác. Nó ngay lập tức thoát khỏi tất cả các tin nhắn rác. Ngay bây giờ tôi không quan tâm đến CPU / Bộ nhớ, tôi cần bộ đệm của tôi giữ sạch sẽ để tôi có thể sử dụng nó đúng cách. Rất lớn Cảm ơn bạn Alex cho sửa chữa này.
Pic Mickael

6
Điều này sẽ chỉ giúp một lần, nhưng bạn có thể vô hiệu hóa "Công cụ chẩn đoán" trong Vusial Studio tại đây: Công cụ -> Tùy chọn -> Gỡ lỗi -> Chung -> hộp kiểm "Bật công cụ chẩn đoán trong khi gỡ lỗi"
Andrey Prokhorov

1
Tôi dường như không thể tìm thấy trình đơn thả xuống "Chọn công cụ" (trong Visual Studio 2015). Bất cứ ý tưởng về nó ở đâu?
Per Lundberg

1
@PerLundberg Nếu bạn không thể tìm thấy "Chọn công cụ", hãy thử câu trả lời của Brian bên dưới (giống như của Andrey trong các nhận xét này). Đây là giải pháp ưa thích của tôi để luôn luôn tắt chức năng giám sát Bộ nhớ / CPU. Nếu tôi cần nó tôi biết làm thế nào để kích hoạt nó.
Alex

Lưu ý rằng nếu bạn đang ở trong phiên gỡ lỗi và bạn thực hiện tùy chọn của Alex, trong khi việc theo dõi Bộ nhớ / CPU của bạn sẽ dừng, các yêu cầu sẽ không cho đến khi bạn dừng và khởi động lại phiên gỡ lỗi! Tìm thấy điều này một cách khó khăn.
vapcguy

88

Đối với tôi, cách khắc phục để ngăn chặn "spam" đối với Fiddler4, thay vì bộ lọc Fiddler, mà tôi có thể đã chọn thực hiện, là thay đổi tùy chọn Visual Studio 2015:

Visual Studio 2015 -> Công cụ -> Tùy chọn -> Gỡ lỗi -> Chung -> bỏ chọn / tắt "Bật Công cụ chẩn đoán trong khi gỡ lỗi"

nhập mô tả hình ảnh ở đây

Dịch vụ VSHUB.exe phải là dịch vụ hỗ trợ các công cụ Chẩn đoán trong khi gỡ lỗi và liên tục làm hỏng ứng dụng trang web / webapi / web mà bạn đang gỡ lỗi. Tôi không cần gỡ lỗi. Công cụ chẩn đoán tại thời điểm này vì vậy tôi chỉ vô hiệu hóa nó trong Visual Studio

Liên quan đến việc vô hiệu hóa VSHUB.exe, tôi đã cố gắng làm điều đó, cho đến khi tôi đọc được từ một người nào đó ở Microsoft, tốt nhất là không vô hiệu hóa nó để có trải nghiệm Visual Studio 2015 tốt hơn và họ thêm các tính năng mới vào Visual Studio sử dụng VSHUB.exe thời gian:

Làm cách nào để tắt VsHub.exe trong khay hệ thống?


@BrianOgden Phew! Cảm ơn bạn. Cuối cùng, một câu trả lời VS 2015. Các menu của Visual Studio đã thay đổi rất nhiều qua mỗi bản phát hành. Thật bất ngờ, công cụ này - VsHub - đã trở nên mạnh mẽ và tôi không biết tại sao. Với bản cập nhật tự động Windows 10, nó có thể là điều mà tôi không biết.
bạch tuộc

Lưu ý cho bất kỳ ai làm theo cách này, nếu bạn thực hiện việc này trong khi đang ở giữa phiên gỡ lỗi, các yêu cầu của bạn sẽ không bị bắt trong Fiddler cho đến khi bạn dừng và khởi động lại phiên gỡ lỗi.
vapcguy

21

Vấn đề được gây ra bởi Công cụ chẩn đoán của Visual Studio trong khi gỡ lỗi.

Bạn có thể vô hiệu hóa chúng bằng cách vào Công cụTùy chọn , rồi làm theo các bước: nhập mô tả hình ảnh ở đây


Đồ họa đẹp. Brian Ogden đã đánh bại bạn với nó, mặc dù - câu trả lời trùng lặp. Lưu ý cho bất kỳ ai làm theo cách này, nếu bạn thực hiện việc này trong khi đang ở giữa phiên gỡ lỗi, các yêu cầu của bạn sẽ không bị bắt trong Fiddler cho đến khi bạn dừng và khởi động lại phiên gỡ lỗi.
vapcguy

@vapcguy Tôi phải thừa nhận câu trả lời của mình không khác nhưng tôi người đầu tiên đăng ảnh. Brian chỉnh sửa câu trả lời của mình sau để bao gồm đồ họa. Mặc dù vậy cũng tốt, miễn là mọi người nhận được câu trả lời của họ.
Sergey

20

Đây là một thay thế dễ dàng hơn để ẩn lưu lượng vshub.

Chuyển đến Công cụ> Tùy chọn Fiddler> tab Kết nối và thêm http://localhost:49155vào danh sách bỏ qua. Điều này sẽ bỏ qua tất cả lưu lượng truy cập được đăng lên URL đó.

* Chỉnh sửa: Fiddler có thể cần phải được khởi động lại sau khi thêm vào danh sách bỏ qua.


2
Thay đổi này chỉ được áp dụng sau khi tôi khởi động lại Fiddler.
Bassem

@Bassem, Nó cũng không cần khởi động lại cho tôi.
Smit Patel

9

Cách dễ nhất để giải quyết vấn đề này là thiết lập bộ lọc trong fiddler. Trong OnB BeforeResponse, hãy thêm lần thứ hai nếu với máy chủ / cổng vshub của bạn:

  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

Câu trả lời của SpokaneDJ rất hữu ích cho tôi và làm việc rất tốt, nhưng tôi không dành nhiều thời gian với Fiddler nên tôi phải mất một phút để nhớ cách làm điều này! Dưới đây là hướng dẫn cụ thể.


Đầu tiên, trong giao diện người dùng Fiddler, đi đến Rules> Customize Rules. Tìm kiếm OnBeforeResponsechức năng. Nó sẽ giống như thế này:

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

Bây giờ thêm if khối sau vào khối hiện có (thay thế máy chủ / cổng vshub của bạn nếu khác):

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

OnBeforeResponseChức năng của bạn bây giờ trông như thế này:

  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

Ở trên không làm việc cho tôi, như vậy. Nó dường như tắt tất cả giám sát fiddler của máy chủ localhost.

Một chút googling khôn ngoan đã cho tôi một giải pháp khác - chặn cổng cụ thể bằng cách thêm phần này vào cuối phần OnB BeforeRequest:

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

Điều này dường như chặn cổng được báo cáo trong Fiddler, mà không làm gián đoạn lưu lượng localhost hơn nữa.


1
Bạn nên đề cập đến câu trả lời nào mà bạn đề cập là "ở trên" vì câu trả lời ở đây có thể thay đổi lên xuống dựa trên nhiều yếu tố.
Sergey

Điểm công bằng. Tại thời điểm nó áp dụng cho tất cả các giải pháp khác, nhưng nó xuất hiện nhiều hơn đã được thêm vào kể từ đó. Tôi sẽ ghi nhớ điều đó trong tương lai.
Rich Howard
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.