Làm thế nào để tôi khắc phục lỗi Các điểm dừng hiện tại sẽ không bị tấn công. Không có biểu tượng nào được tải cho tài liệu này. cảnh báo?


1575

Ứng dụng máy tính để bàn C # trên phiên bản express đã hoạt động sau đó không hoạt động 5 giây sau đó.

Tôi đã thử như sau:

  • Đảm bảo cấu hình gỡ lỗi, cờ gỡ lỗi và thông tin gỡ lỗi đầy đủ được đặt trên tất cả các cụm.
  • Xóa tất cả các thư mục bin và obj và tất cả các DLL liên quan đến dự án khỏi toàn bộ máy của tôi.
  • Tái tạo các dự án gây ra vấn đề từ đầu.
  • Khởi động lại.

Tôi có hai dự án WinForms trong giải pháp. Một trong số họ tải thông tin gỡ lỗi, một trong số đó không. Cả hai đều đề cập đến hội đồng tôi đang cố gắng lấy thông tin gỡ lỗi theo cách chính xác giống như trong tệp dự án. Có ý kiến ​​gì không?


Tôi muốn thêm vào đây, chủ yếu là cho bản thân tôi khi tôi quay lại để xem xét câu hỏi này, rằng các biểu tượng không được tải cho đến khi lắp ráp được tải và lắp ráp không được tải cho đến khi cần. Nếu điểm dừng trong thư viện chỉ được sử dụng trong một chức năng trong cụm chính của bạn, các ký hiệu sẽ không được tải (và nó sẽ hiển thị điểm dừng là không bị đánh) cho đến khi chức năng đó được gọi.


119
Khi gỡ lỗi, hãy xem chế độ xem Gỡ lỗi, Windows, Mô-đun. Điều này sẽ hiển thị thông tin về các mô-đun được tải và trạng thái biểu tượng. Bạn có thể nhấp chuột phải vào một mô-đun và cố gắng tải các biểu tượng từ một vị trí khác.
Polyfun

14
Phiên bản Express không có chế độ xem Mô-đun.
Thợ săn sơ thẩm

12
Điểm tốt về lắp ráp không được tải cho đến khi cần thiết. Trình gỡ lỗi sẽ hiển thị rằng điểm dừng sẽ không bị tấn công, nhưng màn hình sẽ thay đổi / điểm dừng của bạn S hit bị tấn công khi lắp ráp được tải. Một cách giải quyết tốt vấn đề UI này sẽ là thực hiện một cuộc gọi đến hội đồng khi bắt đầu chương trình để buộc lắp ráp được tải.
Tim Coker

1
Tôi gặp vấn đề tương tự và tôi nhận thấy rằng đối với cấu hình bản dựng này, tôi đã không có <DebugSymbols>true</DebugSymbols>nó trong VS2015, tôi đã thêm nó một cách thủ công và nó hoạt động tốt.
kuskmen

4
Xóa tệp .suo có thể đã giải quyết vấn đề xấu này tại dự án của tôi
Roland

Câu trả lời:


1083

Bắt đầu gỡ lỗi, ngay khi bạn đến điểm dừng hoặc sử dụng Debug > Break All, hãy sử dụng Debug > Windows > Modules. Bạn sẽ thấy một danh sách tất cả các hội đồng được tải vào quy trình. Xác định vị trí bạn muốn nhận thông tin gỡ lỗi. Nhấp chuột phải vào nó và chọn Thông tin tải biểu tượng. Bạn sẽ nhận được một hộp thoại liệt kê tất cả các thư mục mà nó tìm tệp .pdb để lắp ráp. Xác minh danh sách đó so với vị trí .pdb thực tế. Hãy chắc chắn rằng nó không tìm thấy một cái cũ.

Trong các dự án bình thường, tập hợp và tệp .pdb của nó phải luôn được IDE sao chép vào cùng thư mục với .exe của bạn. Thư mục bin \ Debug của dự án của bạn. Hãy chắc chắn rằng bạn xóa một cái khỏi GAC nếu bạn đã chơi với nó.


4
Thực tế, đó là vấn đề trong trường hợp của tôi. Chúng tôi đã có một phần mềm biên dịch khiến nó không được coi là 'Mã người dùng' ... bây giờ, tôi phải xem điều gì xảy ra với điều đó, nhưng tôi đã xác nhận rằng nếu không có sửa đổi hậu biên dịch, các ký hiệu được tải. @Hans cảm ơn bạn, đã tiết kiệm cho tôi một số phút tốt! gửi bia ảo
eglasius

29
Câu hỏi là về phiên bản express, mà câu trả lời này không áp dụng, thật không may. Trên thực tế không có câu trả lời nào phù hợp với tôi, tôi cũng đã thử xóa thư mục Debug và xây dựng lại.
Nicolas Raoul

3
Microsoft Visual Studio Express 2013 cho Web không có tùy chọn Debug Windows Modules. Làm thế nào để sử dụng sửa lỗi này trong trường hợp này?
Andrus

3
Một gợi ý, hãy bật các trường hợp ngoại lệ của bạn để nó phá vỡ nơi bạn muốn (nếu bạn không thể đặt điểm dừng khi bắt đầu quá trình) ... Sau đó, bạn hãy làm theo quy trình Debug> Windows> Modules được đề xuất của Han. Tìm kiếm dự án mà bạn đang cố gắng bước vào và nhìn vào ĐƯỜNG. nếu nó nói "C: \ windows \ assembly" thì nó chỉ vào một dll GAC và KHÔNG phải là dự án ...
Andy Danger Gagne

5
tôi đã đặt cấu hình giải pháp hoạt động cho giải pháp của mình thành Phát hành, thay đổi lại thành Gỡ lỗi để giải quyết vấn đề của tôi. Câu trả lời này đã giúp tôi "nhớ" những gì cần tìm
gilad 12/07/2015

436

Trước tiên hãy thử xây dựng lại dự án của bạn bằng cách nhấp chuột phải vào dự án> Xây dựng lại Nếu điều đó không hiệu quả, hãy thử làm sạch dự án (nhấp chuột phải vào dự án> sạch)

Nếu điều đó không làm việc, hãy kiểm tra điều này:

  1. Nhấp chuột phải vào dự án của bạn
  2. Chọn [Thuộc tính]
  3. Chọn tab [Bản dựng]
  4. Đảm bảo [Xác định hằng số DEBUG][Xác định hằng số TRACE] được chọn
  5. Đảm bảo [Tối ưu hóa mã] không được chọn
  6. Nhấp vào nút [Nâng cao] ở cuối trang Xây dựng
  7. Đảm bảo rằng [Thông tin gỡ lỗi:] được đặt thành [đầy đủ]
  8. Nhấp vào [OK] và xây dựng lại dự án ;-)

(bước 6 tạo các tệp .pdb, đây là các ký hiệu gỡ lỗi)


40
Đảm bảo rằng [Thông tin gỡ lỗi:] được đặt thành [đầy đủ] - đã sửa nó cho tôi! Tôi có nhiều cấu hình được thiết lập cho dự án của mình, những cấu hình mới mà tôi đã thêm không có bộ này.
Chiefy

1
Điều này làm việc cho tôi! Nhưng thay vì [đầy đủ] tôi chỉ có thể thực hiện pdb
Aaron Bleach

42
Hóa ra tôi đã ở trong bản phát hành. tsk.
PNDA

2
Nếu bạn có một dự án C ++ / C # hỗn hợp với một khởi động gốc, hãy đảm bảo rằng đó là Dự án gỡ lỗi> Loại trình gỡ lỗi là hỗn hợp.
Bill Hoag

4
Tôi cũng phải chắc chắn rằng Properties > Build > Optimize codeđã không được kiểm soát .
jeffaudio

273

Chỉ cần một cái gì đó đơn giản để thử - bạn có thể đã thử nó rồi. Nhấp chuột phải vào Giải pháp trong trình khám phá giải pháp, nhấp vào "giải pháp sạch", thao tác này sẽ xóa tất cả các tệp được biên dịch và tạm thời được liên kết với một giải pháp .

Làm lại một giải pháp và cố gắng gỡ lỗi một lần nữa.

Tôi cũng gặp rắc rối với các điểm dừng nhiều dự án trong một giải pháp - một số được biên dịch thành x86, một số là x64.


5
Làm thế nào bạn sửa các điểm dừng với nhiều dự án trong một giải pháp - một số được biên dịch thành x86, một số là x64?
Richard Li

3
Nếu bạn đang chạy IISExpress (hoặc trình giả lập Azure), các tệp trong C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Tệp ASP.NET tạm thời \ root có thể không được cập nhật nếu Hội đồng của bạn là 1.0.0.0. Hãy chắc chắn rằng nó giống như 1.0. * Để tạo ra một phiên bản mới mỗi khi bạn xây dựng dự án web của mình. Clean Solution không xóa thư mục tập tin internet tạm thời.
Michael Lang

1
Điều này thực hiện tương tự như thực hiện Rebuild All.
Jonathan Wood

2
@jonathan Wood - Tôi hầu như đồng ý với điều đó. Nhưng trong những trường hợp hiếm hoi, Rebuild All có thể tạo ra kết quả hơi khác nhau - tôi biết đôi khi tôi đã thấy sự khác biệt kỳ lạ. Có một cái nhìn ở đây cho một số cuộc thảo luận thú vị: stackoverflow.com/questions/1247457/ Khăn
Patrick

1
Đối với tôi, nó chỉ đơn giản là "Xây dựng" ... "Giải pháp sạch"
Dominic Isaia

238

Vô hiệu hóa tùy chọn "Chỉ mã của tôi" trong cài đặt Gỡ lỗi / Chung.


2
Đúng, trên một dự án Windows Phone 8 với cấu hình xây dựng tùy chỉnh, đây là những gì đã làm cho tôi.
GONeale

2
Làm việc cho tôi với Windows Phone 8.1 và Cộng đồng VS 2015.
Fabiano Araujo

20
Nói rõ hơn: Trong VS 2017, cài đặt này cụ thể trong hộp thoại Công cụ, Tùy chọn trong khung Gỡ lỗi, Chung (không có ngăn "Gỡ lỗi", chính xác). Hộp kiểm có tên "Kích hoạt chỉ mã của tôi" chứ không phải "Chỉ mã của tôi".
Jazimov

1
Điều này hoạt động với tôi tuy nhiên tôi không thể thấy giá trị biến khi di chuột hoặc shift + f9 gặp lỗi Không thể lấy giá trị của cục bộ hoặc đối số vì nó không có sẵn tại con trỏ lệnh này, có thể vì nó đã được tối ưu hóa
Naveen Kumar

1
Vẫn hoạt động trong Visual Studio 2019!
Toby Caulk

148

Đăng chéo bản sửa lỗi này từ Hans K mà tôi tìm thấy trên chuỗi tương tự >> TẠI ĐÂY << :

Nhấp chuột phải vào giải pháp -> Thuộc tính

Xem bên dưới Thuộc tính chung -> Dự án khởi động

Chọn nhiều dự án khởi nghiệp

chọn Bắt đầu hành động trên các dự án bạn cần gỡ lỗi.


7
Điều này cũng xử lý các tình huống trong đó bạn đang cố gắng gỡ lỗi một dự án WEB là điểm cuối từ xa .NET chạy trên máy chủ phát triển VS và hiển thị "không tải biểu tượng".
D-Sect

1
CÁi này đã sửa nó giúp tôi. Tôi nghĩ rằng sombody trước đây đã cố gắn phần gỡ lỗi vào máy chủ IIS cục bộ thay vì phiên bản gỡ lỗi của IIS mà studio hình ảnh sử dụng.
Hạ sĩ

1
Nếu bạn đã xóa tệp .suo, bạn có thể mất các cài đặt giải pháp được chọn tại đây và sẽ phải đặt lại chúng
chuộc lại

Tôi đã kiểm tra các cài đặt này một lần nữa hôm nay sau khi gỡ lỗi trước đó thành công và thấy rằng các dự án khởi động của tôi bằng cách nào đó đã trở lại một dự án khởi động. Đó là giá trị kiểm tra gấp đôi.
Anthony De Souza

64

Câu trả lời được chọn dẫn tôi đến vấn đề của tôi. Nhưng tôi cần phải làm một vài điều nữa:

Ngay cả với "Gỡ lỗi" được chọn trong danh sách thả xuống:

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

Và trong thuộc tính dự án> Build:

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

Visual Studio đã không tải các biểu tượng cho một dự án cụ thể. Vì vậy, trong danh sách thả xuống đó, tôi chọn "Trình quản lý cấu hình" và thấy rằng các cài đặt cho dự án web của tôi không chính xác:

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

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

Sau đó, tôi đặt nó thành "Gỡ lỗi" và nó bắt đầu tạo .pdbtệp. NHƯNG tôi cần sao chép thủ công PDB và DLL và đặt vào thư mục mà VS đang tìm kiếm (đây là nơi câu trả lời được chọn giúp tôi):

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


1
Tôi đã chạy trong releasechế độ. Cảm ơn !!
Dipak Telangre

Điều quan trọng đối với tôi là hộp 'Triển khai' chưa được chọn, do đó pdb không được triển khai lại sau khi xây dựng
Ben

43

Debug> Windows>Modules Để xem những gì các module đã được nạp đưa tôi đi đúng hướng.

Trong trường hợp của tôi, IIS Express dường như đang tải một DLL khác từ các tệp ASP.NET tạm thời.

Giải pháp?

  1. Duyệt đến C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. Xóa mọi thứ trong thư mục này!

Đây là vấn đề của tôi, thư mục phải chứa đầy các tệp DLL bị hỏng đang được tải dưới dạng tùy chọn.
gburton

8
Điều này làm việc cho tôi, ngoại trừ trong trường hợp của tôi, thư mục tôi phải thanh lọc là C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Tệp ASP.NET tạm thời \ vs \
Andy

Tôi gặp vấn đề tương tự khi tôi đã cài đặt ứng dụng này và nó đang tải DLL đó thay vì ứng dụng từ dự án của tôi không có tệp PDB liên quan. Sau khi gỡ cài đặt ứng dụng cũ, vấn đề đã được giải quyết cho tôi. Cảm ơn!
Lenny K

42

Tôi đã có thể sửa lỗi bằng cách chỉ cần đặt tùy chọn trong tùy chọn 'Đính kèm quy trình' thành 'Tự động xác định loại mã để gỡ lỗi' như trong ảnh chụp màn hình đính kèm.

Chỉ cần làm theo các bước dưới đây:

  • Chuyển đến Gỡ lỗi từ thanh menu
  • Nhấp vào Đính kèm để xử lý
  • Gần tùy chọn Đính kèm , nhấp vào Chọn nút
  • Các Chọn Loại Mã cửa sổ sẽ xuất hiện
  • Bây giờ chọn tùy chọn Tự động xác định loại mã để gỡ lỗi và nhấp vào nút OK.

Đã sửa lỗi sửa lỗi


10
Đối với những người khác đã thử mọi thứ trên trang này, tôi đã khắc phục sự cố của mình bằng cách chuyển sang mã 'Được quản lý (v4.5, v4.0)'!
stevekrzysiak

Chuyển sang "Được quản lý (v4.5, v4.0)" cũng đã sửa lỗi cho tôi với việc gỡ lỗi ứng dụng DNN ASP.Net. Cảm ơn!
Mmm

Chuyển từ "Tự động xác định loại mã để gỡ lỗi" sang "Được quản lý (v4.6, v4.5, v4.0)" hoạt động với tôi. Tôi có một giải pháp với 2 thư viện lớp, một là COM có thể truy cập, cả hai đều nhắm mục tiêu khung 4.6.1.
Jorb

Tôi đã chọn sai tùy chọn (".NET Core" thay vì "Managed v4.6"). Tôi đã chọn "Tự động xác định ..." và nó đã hoạt động! Ban đầu tôi tìm thấy giải pháp này trên bài đăng blog đó blog.simontest.net/ .
Evgeni Nabokov

41

Đôi khi, mặc dù nó mang lại cho bạn lỗi này, nhưng breakpointvẫn bị ảnh hưởng, vì vậy chỉ cần bỏ qua lỗi. Điều này xảy ra khá thường xuyên trong Viewsmột MVC web app.


7
Điều này thực sự nên được nâng cấp ở đâu đó lên đầu. Tôi đã dành rất nhiều thời gian để làm tất cả các câu trả lời ở trên, nhưng điểm dừng thực sự sẽ bị tấn công. Chỉ cần kiểm tra :) Ngoài ra, đó là một ứng dụng máy tính để bàn WPF.
Bartosz

4
aspx dường như được biên dịch theo yêu cầu, do đó thông tin
gỡ lỗi

Ngoài ra đối với UnitTesting - bạn cần đợi vài giây và sau đó nó sẽ bị tấn công.
David Refaeli

Tôi nghĩ rằng @aeroson bình luận là những gì tôi gặp phải. Một trang tải điểm dừng, một trang khác thì không. Đã thử tất cả các loại từ câu trả lời ở đây, sau đó làm mới trang đó và các điểm dừng được tải.
chào

cảm ơn ... đào khoảng nửa giờ và nhận ra rằng điểm dừng vẫn bị tấn công ...
Kyle Huang

39

Kiểm tra xem tệp .pbd của bạn có bị thiếu trong thư mục bin / Debug không. Nếu đó là vào "Thuộc tính" của dự án của bạn, chọn "Xây dựng" và sau đó "Nâng cao" ở dưới cùng. Chọn "đầy đủ" trong "Thông tin gỡ lỗi" trong cửa sổ mới xuất hiện. Đây là vấn đề của tôi và giải quyết nó cho tôi.

Hiển thị nơi tìm cài đặt


Tôi sẽ đề nghị bất cứ ai đến trang này để đảm bảo pdb đang được tạo vì đây là vấn đề đối với tôi.
EatATaco

Cảm ơn! "Chỉ pdb" (chứ không phải đầy đủ) là đủ. Ngoài ra, "Nâng cao" là Nút ở cuối Bản dựng.
Greg Little

pdbs nên được tạo ra ở đâu?
ylka

1
Cảm ơn, điều này đã sửa nó cho tôi sau khi tôi thực hiện các biến đổi Web.config mới và xóa các cấu hình mặc định (như Web.Debug.config) mà VS 2017 cung cấp.
Ken Palmer

1
Đã thử rất nhiều tùy chọn khác (lãng phí gần 2 giờ) Tùy chọn "đầy đủ" này khắc phục sự cố của tôi. Cảm ơn!
SoftSan

29

Trong trường hợp của tôi, "Tối ưu hóa mã" đã được kiểm tra trong thuộc tính dự án của tôi. Điều này khiến VS thấy lắp ráp của tôi là "không phải mã của tôi", và đến lượt nó, nó không tải các ký hiệu cho nó.

Giải pháp là bỏ chọn cái này. Vị trí của hộp kiểm Tối ưu hóa mã


2
Đây cũng là vấn đề của tôi và tôi đã lần lượt trải qua tất cả các giải pháp trên, không có gì hiệu quả.
antikbd

Tôi đã bỏ chọn tùy chọn này, giải pháp sạch, giải pháp được xây dựng lại, v.v ... VS luôn coi mô-đun là "Tối ưu hóa". Cách duy nhất tôi tìm thấy để buộc VS cập nhật thông tin gỡ lỗi là tăng phiên bản lắp ráp của mô-đun.
alphanoch

Giải pháp duy nhất phù hợp với tôi, # cho bạn (# = ++++), nhưng tôi chỉ có thể bình chọn một lần
Luis Lopez


23

Hãy thử chạy studio hình ảnh như một quản trị viên trong các cửa sổ.


1
Cuối cùng tôi cần chạy msvsmon với tư cách Quản trị viên trên máy từ xa.
Bill Hoag

Đây không phải là một giải pháp mọi người nên làm theo. Nếu điều này khắc phục được sự cố thì bạn nên tập trung vào lý do tại sao bạn cần quyền quản trị để VS có thể đọc nội dung tệp .pdb của dự án của bạn.
Jazimov

@Jazimov Tôi không đồng ý. Trong khi tôi muốn dành thời gian điều tra việc này, trong trường hợp của tôi, điều này đã giải quyết vấn đề của tôi và cho phép tôi tiếp tục làm việc vì tôi chắc chắn rằng nó cũng đã làm cho người khác. Nếu bạn muốn xem xét nó và cải thiện câu trả lời này, thì đó là những gì nó dành cho.
Andy

Để rõ ràng: Tôi hiểu rằng nó đã khắc phục vấn đề của bạn với Visual Studio, đó không phải là điều tôi đang tranh cãi. Tôi đang tranh luận về khuyến nghị rằng những người khác chấp nhận chạy IDE như một giải pháp chứ không phải là một giải pháp đơn giản . Nếu chạy IDE khi quản trị viên khắc phục sự cố thì thông tin đó sẽ được sử dụng để khắc phục nguyên nhân gốc thực tế để IDE không yêu cầu quyền quản trị viên để hoạt động chính xác.
Jazimov

21

Trong trường hợp của tôi, tôi đang cố gắng gỡ lỗi trong chế độ relase. Khi tôi thay đổi nó sang chế độ gỡ lỗi. Nó hoạt động


15

Bạn cần bật "Tạo thông tin gỡ lỗi" trong cài đặt trình biên dịch


1
Nên ở đâu?
MushyPeas

10
Nó giống như câu trả lời của juFo - Dự án> Thuộc tính> Xây dựng> Nâng cao> Thông tin gỡ lỗi> Đầy đủ (hoặc chỉ pdb)
Jeremy Thompson

Hãy nghe Jeremy Thompsen. Nó đã khắc phục vấn đề cho tôi.
Thorkil Værge

12

->Tùy chọn gỡ lỗi Đánh dấu ->chung ->Bỏ chọn cho " Enable Just My Code"

Điều này làm việc cho tôi.


1
Đây có vẻ như là một cài đặt mặc định đáng để kiểm tra nếu nâng cấp VS lên phiên bản mới hơn (như đã xảy ra với tôi).
Agamemnon

10

Chúng tôi tìm thấy nguyên nhân của vấn đề của chúng tôi. Mã này đã sử dụng thuộc tính "CodeBehind" trong chỉ thị Trang của tệp .aspx thay vì thuộc tính "CodeFile" (ASP.NET 2.0 trở lên). Sau những ngày tuyệt vọng, một tìm kiếm đơn giản và thay thế đã giải quyết vấn đề.


10

Tùy chọn "Bắt đầu gỡ lỗi, Gỡ lỗi + Windows + Mô-đun" không tồn tại trong phiên bản Microsoft Visual Studio Express 2013.

Bỏ chọn "Sử dụng chế độ tương thích được quản lý" trong Tùy chọn công cụ Gỡ lỗi sẽ khắc phục điều này.


10

Kiểm tra Solution Configurationdanh sách thả xuống của bạn . Hãy chắc chắn rằng bạn chọn Debug, không Release.


Cảm ơn bạn @ zs2020
Shakeel Hussain Mir

9

Tôi đã thử mọi thứ được đề cập ở trên, nhưng không có gì hiệu quả. [Làm sạch giải pháp và kiểm tra các tệp PDB, v.v.]

Ngay cả việc xuất bản cùng một giải pháp cũng không giải quyết được vấn đề.

Sau đó, tôi đã quay lại những gì tôi thường làm để giải quyết (đánh lừa Visual Studio cứng đầu này)

Tất cả những gì tôi đã làm là thực hiện một sự thay đổi có chủ ý trong mã và xuất bản giải pháp. Sau đó, tôi hoàn nguyên thay đổi và xuất bản một lần nữa.

Voila [PDB loại bỏ các linh hồn ma quỷ] .. Không phải là một giải pháp thông minh, nhưng điều này đã làm việc ..: - |


7

Chỉ ứng dụng web (IIS Express):

  • Nhấp chuột phải vào Khay Express IIS và đóng IIS.
  • Giải pháp sạch

Khay IIS


Tôi đã thử nhiều gợi ý khác trong các câu trả lời khác, nhiều trong số đó đã giúp tôi trong quá khứ, nhưng hôm nay cái này có ích. Trong trường hợp của tôi, tôi có nhiều chi nhánh và tôi nghĩ IIS Express bằng cách nào đó bị mắc kẹt ở một chi nhánh khác và không được làm mới với chi nhánh mà tôi đang cố gắng gỡ lỗi, mặc dù đã có rất nhiều nỗ lực để Làm sạch và Tái tạo.
Chris H

6

Không ai trong số những câu trả lời giải quyết vấn đề của tôi. Tôi đã thử một điều khác dựa trên thực tế rằng dự án với điểm dừng không nằm trong thực tế dự án được tải. Tôi đã tìm thấy khi Hans Passant viết rằng, nơi tôi muốn dừng trình gỡ lỗi và các tệp .pdb được liên kết trong đó được sao chép gần tệp .exe. Các tệp đó đã có ngày cũ hơn nên tôi nghĩ rằng chúng không được cập nhật trong thời gian chạy. Tôi đã tự xóa chúng, Visual Studio tạo một cặp khác VÀ đặt cặp mới này gần .exe. Bây giờ các breakpoins hoạt động!

Có lẽ Visual Studio không thể sao chép và thay thế các tệp hiện có (dll và .pdb) gần .exe vì có một tệp khác ở đó. Vì vậy, nếu tôi xóa thủ công thì VS có thể tạo cái mới gần .exe.

Tôi nghĩ rằng một thay đổi khác (kiểm tra và vv - từ các câu trả lời khác) đã kích hoạt một cái gì đó và Visual Studio đã sao chép và thay thế dll và pdb từ thư mục dự án vào thư mục gần exe, vì vậy đó là một giải pháp.

Tôi nghĩ rằng nguyên nhân gốc rễ của vấn đề là Visual Studio sử dụng một tệp khác trong thời gian chạy, không có tệp nào từ dự án, với điểm dừng.

Có lẽ câu trả lời này để giúp ai đó!


6

Những điều cần kiểm tra để rõ ràng: Đảm bảo rằng bạn đã đặt cấu hình thành 'Gỡ lỗi' chứ không phải 'Phát hành'. Bạn có thể gỡ lỗi dự án khởi động trong chế độ 'Phát hành', nhưng không phải là thư viện lớp được tham chiếu.


6

Thuộc tính dự án (sau đó chọn cấu hình bản dựng của bạn)> Tab xây dựng> Nâng cao ...> Thông tin gỡ lỗi (thả xuống)

Đặt thành 'tất cả' hoặc 'chỉ pdb' rồi xây dựng lại


tôi đã làm pdb_only, cũng dọn dẹp và khởi động lại trình duyệt
Jason

6

Thay vì làm tất cả những điều này chỉ

Đóng và mở lại

giải pháp nó sẽ khắc phục vấn đề


Làm việc cho tôi trong Microsoft Visual Studio 2013 trong: Tệp> Đóng Giải pháp Sau đó Tệp> Giải pháp mở (nên được tải sẵn cùng thư mục với nó). Điểm dừng đã chuyển từ cờ vàng sang đỏ tròn ngay lập tức. Cảm ơn
Zargold

Thiên tài OMG! Cảm ơn!!!
AresDev

6

Tôi đã gặp vấn đề tương tự và tôi đã làm như sau: Gỡ lỗi => Tùy chọn => Chung => Xóa dấu kiểm cho "Kích hoạt chỉ mã của tôi" Điều này hiệu quả với tôi ..


điều này cũng làm việc cho tôi
mohammed elshoraky

6

Điều này khiến tôi mất một thời gian để thử các tùy chọn khác ở trên và vì một số lý do kỳ lạ, việc gỡ lỗi đã ngừng hoạt động.

Công cụ -> Tùy chọn -> Gỡ lỗi -> Chung -> (bỏ chọn) "Yêu cầu tệp nguồn khớp chính xác với phiên bản gốc" tùy chọn


6
  1. Làm sạch dung dịch và xây dựng lại
  2. Kiểm tra cấu hình được đặt thành Gỡ lỗi
  3. Đảm bảo rằng tệp PDB nằm trong thư mục Gỡ lỗi.
  4. Từ menu Gỡ lỗi, bấm Kích hoạt Tất cả các Điểm dừng

6

Kiểm tra là hai cài đặt sau giống nhau trong Visual Studio:

Nhấp chuột phải vào dự án thử nghiệm, đi đến Thuộc tính, tab Xây dựng và xem mục tiêu Nền tảng

Của tôi đều được đặt thành "Bất kỳ CPU", vì vậy x64

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

Trên thanh Menu chính, đi đến Kiểm tra, Cài đặt kiểm tra, Kiến trúc bộ xử lý mặc định

Của tôi được đặt thành X86

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

Việc thay đổi điều này thành X64 để phù hợp với cài đặt ở trên đã khiến cho menu Visual Studio được tích hợp trong thử nghiệm Debug thử nghiệm và các điểm dừng đã bị bỏ qua trước đó với thông báo. Điểm dừng hiện tại sẽ không được nhấn. Không có biểu tượng nào được tải cho tài liệu này.

Cập nhật:

Đối với Visual Studio 2019, các menu đã được di chuyển xung quanh một chút: nhập mô tả hình ảnh ở đây


5

Tôi biết tôi đã trễ nhiều năm, nhưng tôi nghĩ tôi đã làm gì đó sai và làm theo các bước trên thì tôi nhận ra rằng tôi đã đặt cấu hình giải pháp thành 'Phát hành' do nhầm lẫn :)


1
Tôi có thể upvote 10K lần không? Điều tồi tệ nhất là tôi nghĩ rằng tôi đã tìm kiếm cái này trên google như thế này 10 lần rồi và mọi lúc đều là một sai lầm ngu ngốc. Có lẽ Microsoft có thể gợi ý nó cho người dùng?
tfrascaroli
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.