Dự án Visual Studio 2015 không còn chạy ở chế độ gỡ lỗi


95

Đây là những gì tôi nhận được ngay cả khi tôi chạy trong cấu hình Gỡ lỗi:

Cách tôi hiển thị điều này là bật "Just My Code" và cảnh báo nếu không có bất kỳ mã người dùng nào khi khởi chạy. Đây là điều gần đây đã xảy ra với dự án của chúng tôi và tôi không chắc chúng tôi đã làm gì để gây ra điều này. Nhưng tôi đã không thể sửa chữa nó. Các điểm ngắt sẽ không hoạt động và việc xem nhanh cho kết quả kỳ lạ.

Tôi đã thử xử lý vấn đề trên Google nhưng không có giải pháp "điểm ngắt nào không kích hoạt" tiêu chuẩn hoạt động. Tôi hết ý tưởng.

Tôi đã kiểm tra trình quản lý cấu hình và mọi dự án cũng được đặt thành Gỡ lỗi ở đó.

Nhập mô tả hình ảnh tại đây

Tôi đã tắt "Bật tối ưu hóa" và tôi không còn nhận được hộp thoại "bạn đang gỡ lỗi bản phát hành". Nó chạy và dừng lại trên các điểm ngắt! Tuy nhiên, cửa sổ đầu ra hiển thị điều này khi khởi động:

Các ký hiệu cho mô-đun 'Navigo.exe' không được tải.

  1. Sử dụng cấu hình bản dựng gỡ lỗi hoặc vô hiệu hóa tùy chọn gỡ lỗi 'Bật mã chỉ của tôi'.
  2. Kiểm tra cài đặt 'Biểu tượng' trong tùy chọn gỡ lỗi.

Vì vậy, điều này giải quyết vấn đề chính của tôi không thể sử dụng các điểm ngắt và cửa sổ bật lên nữa. Thật kỳ lạ vì tôi nghĩ bạn cần các ký hiệu được tải để các điểm ngắt hoạt động. Vậy làm thế nào các điểm ngắt có thể hoạt động nếu các ký hiệu không được tải? Có lẽ đó chỉ là một tin nhắn xấu?


Tóm lại, bạn đã gặp phải một số vấn đề mà chúng tôi không biết. Và bạn đã thay đổi cài đặt trình gỡ lỗi chung và bây giờ bạn gặp hai vấn đề. Đặt mọi thứ trở lại như cũ và mô tả vấn đề đầu tiên của bạn .
Hans Passant

@HansPassant đây là vấn đề ban đầu. Nó dường như đã bắt đầu xảy ra sau khi chúng tôi nâng cấp để sử dụng VS2015. Tôi đã hoàn nguyên bất kỳ thay đổi nào "sẽ hoạt động" trước khi đăng. Bỏ chọn "Mã tối ưu hóa" dường như đã hữu ích. Xem Cập nhật 2 được đề cập để biết thêm chi tiết.
Sen

Bạn có thể giải thích giải pháp của bạn là gì không? dự án là gì, ngôn ngữ của họ là gì, họ nhắm mục tiêu gì, dự án khởi nghiệp là gì?
Lucian Wischik

Bật lại Chỉ mã của tôi. Bạn đang cố gắng gỡ lỗi các hội đồng tham chiếu mà bạn không có mã nguồn?
Igor Quirino

Câu trả lời:


95

Sử dụng Trình quản lý cấu hình để kiểm tra cài đặt thực tế dành cho cấu hình Gỡ lỗi - nó ở menu Xây dựngTrình quản lý cấu hình ... - trong trường hợp chúng được đặt để sử dụng Bản phát hành :

Quản lý cấu hình

Ngoài ra, hãy đảm bảo rằng dự án đang xác định DEBUG chính xác và "Mã tối ưu hóa" không được chọn:

Tính chất


2
Tôi vừa kiểm tra ở đó và tất cả chúng đều được đặt thành Gỡ lỗi. Tôi đã cập nhật bài đăng với ảnh chụp màn hình. Bất kỳ ý tưởng khác?
Sen

1
đã chỉnh sửa câu hỏi của tôi. Mã Optimize đã được chọn, việc bỏ chọn có vẻ như đã hữu ích. Nhưng xem câu hỏi để biết chi tiết.
Sen

1
@Sen Có vẻ như ai đó đã định cấu hình sai cài đặt bản sửa lỗi của bạn. Một bản dựng gỡ lỗi với mã được tối ưu hóa không có ý nghĩa gì. Đối với vấn đề biểu tượng: Có thể ai đó đã vô hiệu hóa những biểu tượng đó cho bản dựng gỡ lỗi? Nhấn nút "Nâng cao" trong cài đặt bản dựng và kiểm tra xem "Thông tin gỡ lỗi" đã được đặt thành "đầy đủ" trong bản dựng gỡ lỗi chưa.
hỏa táng

6
Bỏ chọn mã Optimize đã thực hiện một mẹo nhỏ. Không chắc nó được kiểm tra bắt đầu như thế nào, nhưng một khi điều đó tắt, mọi thứ dường như bắt đầu hoạt động trở lại. Tất cả các cài đặt gỡ lỗi khác đều đúng, đây là cài đặt duy nhất trong số những gì đã xảy ra. Tôi cũng không còn nhận được thông báo "Ký hiệu không được tải".
Sen

94

Điều này cũng đã xảy ra với tôi trong một vài dự án. Tôi đã xem lại cài đặt bản dựng của mình, theo đề xuất của stuartd . Tuy nhiên, 'Mã tối ưu hóa' không được bật trong cài đặt bản dựng của tôi. Vì vậy, tôi đã kích hoạt nó và lưu dự án. Sau đó, tôi bỏ chọn nó và lưu lại. Vấn đề đã được giải quyết.

Có một số loại lỗi khiến --optimize+cờ được chuyển đến trình gỡ lỗi. Bật nó và sau đó tắt nó là một giải pháp dễ dàng cho đến khi lỗi được sửa.


1
Tôi đã thấy điều này trong IntelliJ IDE trước đây, nhưng chưa bao giờ trong Visual Studio cho đến bây giờ. Thật kỳ lạ, điều này cũng làm việc cho tôi.
ZaneDarken

1
Bản cập nhật 2017: vẫn gặp sự cố này trong Bản cập nhật Visual Studio 2015 3. Câu trả lời được chấp nhận không khắc phục được sự cố; câu trả lời này đã làm.
Lews Therin

1
Câu trả lời này cũng đã sửa lỗi envir của tôi. Cảm ơn !
bob.mazzo

1
Chà! Tôi đã gặp vấn đề chính xác này và điều này cũng hiệu quả với tôi. VS 2015 U3. Không thể tin được ...
AbeyMarquez 13/02/17

1
VS2017 Community, vẫn còn vấn đề này. cảm ơn vì giải pháp này
William Borgo

20

Điều này bắt đầu xảy ra với tôi sau khi áp dụng Cập nhật 1. Các dự án hiện tại bắt đầu hiển thị điều này và tôi có thể tái tạo nó với một dự án hoàn toàn mới. Tất cả các cấu hình được thiết lập để DEBUG, và Tối ưu hóakhông kiểm tra.

Kicker là, chạy dự án lần đầu tiên (hoặc sau khi Clean) chạy tốt, không có bất kỳ thông báo nào. Dừng, sau đó chạy lại dự án (lưu ý - dự án không khởi động lại ) sẽ hiển thị hộp thoại.

Giải pháp duy nhất là tắt tùy chọn Just My Code - có vẻ như là một vụ hack, như trước đây đối với Bản cập nhật 1 mà không gặp bất kỳ sự cố nào.


6
Đối với những gì nó đáng giá, bộ phận hỗ trợ của Microsoft đã tái tạo sự cố và đang điều tra. Ngay khi nghe tôi sẽ báo lại / trả lời.
John T

2
Tình huống và các triệu chứng tương tự ở đây, xuất hiện sau Bản cập nhật VS2015 1. Chạy Clean trước mỗi phiên gỡ lỗi có thể được sử dụng như một giải pháp thay thế vì thực sự nó hoạt động chính xác vào lần đầu tiên sau đó. Chỉ thực hiện xây dựng lại là không đủ, cần phải làm sạch.
AronVanAmmers

2
Từ Microsoft cho rằng đây là một vấn đề đã biết (ban đầu nó thuộc về nhóm Trình gỡ lỗi, nhưng đã được xác định đó là sự cố bản dựng và hiện nằm trong tay của nhóm hệ thống Dự án. Có những lỗi khác đang xảy ra về vấn đề này, và nó được xếp hạng Mức độ ưu tiên 1, vì vậy sẽ được theo dõi cho bản cập nhật tiếp theo. Mặc dù như mong đợi, không có lời hứa nào về thời điểm nó sẽ được phát hành (hoặc những gì thực sự có trong bản cập nhật). Vì vậy, nó đã biết và đang được thực hiện bật. Ít nhất thì tắt “Chỉ kích hoạt mã của tôi” trong Tùy chọn chung gỡ lỗi dường như là một công việc xung quanh bây giờ.
John T

Có liên kết đến vấn đề này để chúng tôi có thể theo dõi tiến trình của nó không?
SkyrawrCode


13

Nếu không có giải pháp nào trong số các giải pháp được đề cập giúp ích, hãy kiểm tra AssemblyInfo.cs trong dự án của bạn để biết ứng dụng DebuggableAttribute rõ ràng. Có vẻ như nó ghi đè các tùy chọn gỡ lỗi / phát hành của trình biên dịch.

Tôi đã có dòng này trong hồ sơ trong trường hợp của mình (dự án kế thừa, không biết làm thế nào nó đến đó). Xóa nó đã giải quyết được vấn đề:

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]

2
Cảm ơn vì điều đó. Tôi đang làm việc trong một dự án mà khách hàng của tôi bị mất mã nguồn ban đầu của họ, vì vậy tôi phải tạo nó bằng trình dịch ngược. Đoán duy nhất của tôi là decompiler đưa dòng này trong.
jebar8

Vâng, nó cũng có thể là lý do trong trường hợp của tôi. Cám ơn vì đã chia sẻ.
Dmitry Rotay


9

Tôi cũng gặp phải vấn đề này. Cách khắc phục hiệu quả là chỉ cần dọn dẹp ( Build > Clean Solution) và xây dựng lại ( Build > Rebuild Solution) các dự án của tôi.


Bạn có thể xây dựng? Ví dụ: với cách thực hiện (lệnh menu để gọi, v.v.)?
Peter Mortensen

5

Không có câu trả lời nào trước đây phù hợp với tôi. Khởi động lại IIS đã sửa nó.


3

Chỉ cần thêm một ghi chú bên lề cho câu trả lời của stuartd :

Đảm bảo bạn kiểm tra bất kỳ dự án phụ thuộc nào để có cài đặt bản dựng giống nhau. Bạn sẽ nhận được lời nhắc thông báo tương tự nếu dự án chính của bạn có cài đặt thích hợp, nhưng các dự án phụ thuộc của bạn thì không. Nó có ý nghĩa rõ ràng trong nhận thức muộn màng, nhưng nó không phải là điều đầu tiên bạn nghĩ đến.


3

Trong trường hợp của tôi, vấn đề là URL Dự án IIS trong tab web thuộc tính dự án ASP.NET của tôi được đặt thành URL sai.

Nó đã trỏ đến http: // localhost mà tôi đang sử dụng với một bản sao khác của dự án. Địa chỉ cho giải pháp tôi đã mở thực sự đã được định cấu hình trên IIS cục bộ của tôi là http: // localhost: 90 .

Thay đổi địa chỉ chính xác đã khắc phục sự cố.

Nhập mô tả hình ảnh tại đây


2

Tôi đã thử khá nhiều thứ trong danh sách này, nhưng cuối cùng tôi đã khắc phục được điều này bằng cách mở thuộc tính giải pháp và chuyển từ "Nhiều dự án khởi động" sang "Dự án khởi động đơn" và quay lại.

  1. Nhấp chuột phải vào giải pháp và chọn "Thuộc tính"
  2. Trong "Thuộc tính chung", thay đổi lựa chọn "Nhiều dự án khởi động" thành "Một dự án khởi động"
  3. Bấm OK
  4. Chạy gỡ lỗi
  5. Kết thúc gỡ lỗi và lặp lại các bước 1-3, nhưng chuyển trở lại "Nhiều dự án khởi động"
  6. Chạy lại gỡ lỗi với nhiều dự án

2

Tôi đã gặp vấn đề tương tự ... Bất kể tôi đã làm gì - không có gì hiệu quả.

Đó là một dự án trống mới là vấn đề. Tôi đã kết thúc việc xóa dự án và thêm một dự án mới - dự án mới phải có một tên khác ; nếu tôi sử dụng cùng một tên, lỗi vừa xuất hiện lại - ngay cả sau khi khởi động lại, dọn dẹp và xây dựng lại ... Đó phải là lỗi trong Visual Studio 2015.


2

Đối với tôi, đó là một tham chiếu NuGet từ một máy chủ NuGet riêng. Tôi không biết nó được biên dịch như thế nào, nhưng việc thay đổi tham chiếu thành tham chiếu dự án đã giúp tôi vượt qua sự cố.


1

Tôi đã mở dự án Visual Studio 2012 Pro của mình trong Visual Studio 2015 Express và gặp sự cố tương tự.

Tôi đã kiểm tra thuộc tính Giải pháp của mình → Thuộc tính cấu hình và phát hiện ra một dự án được đặt thành Phát hành & x86.

Tôi đã thay đổi nó trở lại Debug and Any CPU , và lời nhắc đã biến mất.


1

Trong trường hợp của tôi, tôi đang phát triển một plugin VSTO cho Outlook và Outlook đã vô tình tải phiên bản Phát hành của tệp DLL mà tôi đã cài đặt gần đây trong khi kiểm tra trình cài đặt của mình.

Có vẻ như Visual Studio đang cố gắng sử dụng DLL đó thay vì Debug mà tôi mong đợi. Sửa lỗi tệp DLL nào đang được Outlook tải đã khắc phục sự cố này cho tôi.


0

Sao chép câu trả lời khác của tôi từ đây .

Như đã đề cập bởi @romanoza, Microsoft đã cập nhật báo cáo lỗi với thông tin sau:

Bỏ chọn cài đặt Gỡ lỗi -> Tùy chọn -> Loại bỏ tối ưu hóa JIT khi tải mô-đun (Chỉ được quản lý)

Đây là cách giải quyết. Họ tiếp tục nói sau:

Chúng tôi khuyên mọi người nên bỏ chọn nó vì không chọn nó sẽ cải thiện cả hiệu suất và hành vi của chỉ mã của tôi trong các tình huống cụ thể.

Cuối cùng, xác nhận:

Đó là một lỗi mà nó không hoạt động khi cài đặt đó được bật và chúng tôi đang tìm cách khắc phục tình huống đó trong trường hợp một số khách hàng vẫn muốn gỡ lỗi khi bật cài đặt đó.




0

Các bước giải quyết:

  • Đi tới cài đặt Xây dựng của trang Thuộc tính của dự án vi phạm .

  • Cuộn phải xuống nút “Nâng cao ...” .

  • Hãy chắc chắn rằng “Debug Info:”không  thiết lập để “none” .

    Tôi khuyên bạn nên sử dụng tùy chọn đầy đủ .


Hãy nhớ làm điều này cho tất cả các hội đồng bạn muốn gỡ lỗi.
Igor Quirino

0

Sau khi xem liên kết của Patrick dưới dạng nhận xét cho câu hỏi , ai đó đã lưu ý một cách giải quyết là dừng trang web trong IIS Express . Tôi đã có thể ngăn vấn đề tương tự này phát sinh bằng cách thực hiện điều đó sau khi dừng trình gỡ lỗi trong Visual Studio.

Tuy nhiên, tôi đã xem xét kỹ hơn và tôi tin rằng nó cũng có thể liên quan đến cài đặt 'Chỉnh sửa và Tiếp tục' cho trình gỡ lỗi. Khi tôi tắt tính năng đó trong menu Công cụTùy chọn ... của Visual Studio, tôi không còn gặp sự cố nữa. Nhưng sau đó, điều đó sẽ ngăn bạn sử dụng tính năng Chỉnh sửa và Tiếp tục , vì vậy tôi không chắc liệu điều đó có xứng đáng với bạn hay không.

Menu Công cụTùy chọnTrình gỡ lỗiChỉnh sửa và Tiếp tục (cuộn xuống cuối danh sách Chung) → bỏ chọn Chỉnh sửa và Tiếp tục hộp kiểm .

Tôi cũng gặp phải điều này đột ngột sau khi cài đặt Bản cập nhật 1, nhưng có thể là tôi đã tắt cài đặt này ngay từ đầu ... Mặc dù vậy, tôi không chắc.


0

Trong trường hợp bạn chỉ cần tiếp tục mà không có bất kỳ sự chậm trễ nào nữa, hãy chọn tùy chọn cuối cùng từ cửa sổ bật lên và tất cả sẽ chạy giống như trước.

Nhập mô tả hình ảnh tại đây


Hình ảnh JPEG không phải là lựa chọn tốt nhất cho ảnh chụp màn hình. Bạn có thể thay thế nó bằng một phiên bản PNG (sắc nét) (hoặc thậm chí GIF) không?
Peter Mortensen

0

Đây là một cảnh báo kỳ lạ.

Việc xây dựng lại Giải pháp không nhất thiết phải xóa tất cả các tệp DLL (đặc biệt là những tệp được sao chép từ các dự án phụ thuộc).

Tuy nhiên, việc xây dựng lại dự án phụ thuộc đã khiến cảnh báo này biến mất.

Tôi đã đối mặt với điều này với Visual Studio 2015 Update 3.


0

Giải pháp của tôi hơi khác so với những giải pháp khác và có một chút độc đáo.

Tôi đang làm việc với một trang web có chứa hỗn hợp mã được quản lý và ASP Classic , cả hai đều tham chiếu đến cùng một hội đồng. Visual Studio phàn nàn rằng tệp DLL được quản lý của tôi là một bản phát hành.

Vấn đề là một ngoại lệ không nên xảy ra trong lắp ráp của tôi, nhưng nó đã được một trang ASP Classic ném qua tương tác. Visual Studio không thể xử lý gỡ lỗi này và hiển thị thông báo lỗi. Ngoại lệ tương tự được ném từ mã được quản lý sẽ đưa ra trình gỡ lỗi như mong đợi.

Việc khắc phục sự cố trong hàm tạo của assembly được quản lý của tôi đã khắc phục mọi thứ.

Tất cả đều hợp lý khi tôi nhìn lại bức tranh lớn, nhưng vào thời điểm đó, thông báo lỗi đã dẫn tôi xuống một con đường rất sâu và tôi đã thử mọi thứ trong câu trả lời ở đây cho đến khi tôi có câu "Ah-ha!" chốc lát.


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.