2010-09-18 29 views
5

Tôi đang sử dụng Visual Studio 2008. Tôi không cần phải gỡ lỗi một số DLL trong dự án của mình, vì vậy tôi có thể tắt tải biểu tượng khi gỡ lỗi chương trình Visual C++ không? Nó giúp làm cho thời gian khởi động nhanh hơn khi gỡ lỗi?Làm thế nào để vô hiệu hóa tải biểu tượng khi gỡ lỗi chương trình Visual C++?

Ký hiệu là tất cả địa phương, vì vậy tôi không gặp phải vấn đề tải chậm đó, chỉ muốn thực hiện gỡ lỗi nhanh hơn và nhanh hơn.

Ví dụ tôi đang sử dụng thư viện Qt, khi tôi nhấn "Bắt đầu gỡ lỗi", cửa sổ Đầu ra cho thấy rằng các biểu tượng cho thư viện Qt được tải. Nếu VS có thể ngừng tải những biểu tượng đó, thời gian khởi động gỡ lỗi sẽ nhanh hơn. Tất nhiên, tôi vẫn muốn VS tải biểu tượng cho thực thi của tôi.

Trả lời

0

Tôi không chắc chắn ý bạn là gì khi 'khởi động'. Tôi cho rằng bạn đang nói về việc tung ra ứng dụng thực tế. Thời gian khởi chạy ứng dụng đích là tốn kém bất chấp chế độ bạn khởi chạy nó. Nó có thể ít hơn trong bản phát hành nhưng điều đó sẽ không đáng kể.

Tắt tất cả các đường dẫn biểu tượng như đã đề cập trong giải pháp khác là một tùy chọn khả thi. Tuy nhiên, tôi không chắc chắn tại sao bạn đang gỡ lỗi nếu bạn không muốn biểu tượng cho ứng dụng được khởi chạy của mình. Nếu không có các biểu tượng ứng dụng, bạn sẽ không thể nhìn thấy nơi bạn đang ở trong mã nguồn khi bạn đang gỡ lỗi.

Nếu bạn đang tìm kiếm trải nghiệm gỡ lỗi nhanh hơn, bạn có thể sử dụng WinDbg. Nó đi kèm với Windows SDK nhưng cũng có thể được tải xuống một cách riêng biệt. Nếu là một giao diện người dùng nhanh hơn Visual Studio, nhưng nó là nhiều hơn nữa cồng kềnh để sử dụng nếu bạn cảm thấy thoải mái hơn với một GUI. WinDbg sử dụng các lệnh để thực hiện hầu như tất cả các nhiệm vụ, nhưng bạn có thể thực hiện một số sửa lỗi lớn và nhanh hơn trong nhiều trường hợp so với Visual Studio. Trong trường hợp bạn muốn gỡ lỗi C++ \ CLI hoặc bất kỳ ứng dụng được quản lý nào (ví dụ: C#), tôi sẽ kết hợp với Visual Studio. Có một phần mở rộng trong WinDbg được gọi là SOS, nhưng nó đòi hỏi một số kinh nghiệm gỡ lỗi nâng cao để sử dụng chính xác.

+0

Đó là khả năng đạt được trong hiệu suất trình gỡ lỗi từ việc sử dụng WinDbg sẽ lớn hơn lợi ích về năng suất đối với OP tiếp tục sử dụng IDE đầy đủ. WinDbg có vị trí của nó - Tôi vẫn sử dụng nó để gỡ lỗi postmortem các lỗi khó chịu trong mã gốc như tràn ngăn xếp hoặc tham nhũng, nơi IDE ném lên tay hoặc phát nổ hoàn toàn - nhưng trong 99% trường hợp VS sẽ tốt cho bản C++ cũng như mã được quản lý. –

+0

Tôi có nghĩa là thời gian bắt đầu khi nhấn "Bắt đầu gỡ lỗi" trong Visual Studio. Tôi muốn gỡ lỗi ứng dụng của mình, nhưng không phải các tệp DLL mà nó tải, ví dụ: các thư viện Qt. Có lẽ tôi nên thử sử dụng phiên bản phát hành của các thư viện khi tôi đang gỡ lỗi. – fxam

+0

Nếu bạn muốn cắt giảm thời gian khởi động, hãy xóa ký hiệu của thư viện được đề cập. Trong trường hợp này, các tệp ký hiệu (pdbs) có thể nằm ngay bên cạnh các tệp nhị phân của thư viện Qt. Loại bỏ chúng và chúng sẽ không được tải. Kiểu xây dựng của các tệp nhị phân sẽ không tăng thời gian khởi chạy gỡ lỗi của bạn lên bất kỳ mức độ lớn nào. – linuxuser27

18

Chỉ cần phát hiện ra rằng Visual Studio 2010 thực sự làm những gì tôi muốn.

Để tải chỉ là biểu tượng cho tập tin thực thi của bạn, mà không cần nạp biểu tượng khác (ví dụ: DLL):

  1. Đến Tools-> Options-> Debugging-> Biểu tượng
  2. Bấm "module Chỉ định "
  3. Clear 'Luôn ký tải nằm bên cạnh module'
  4. Nhấp 'Xác định module'
  5. Nhấp vào biểu tượng mới
  6. Nhập exe của bạn tên tệp có thể cắt (ví dụ: my-awesome-app.exe)

Cũng phát hiện ra rằng Visual Studio 2010 có vẻ hoạt động tốt hơn Visual Studio 2008 khi gỡ lỗi. Ít nhất là bố trí IDE chuyển trở lại nhanh hơn khi gỡ lỗi được dừng lại.

+3

+1 Cách tốt để làm điều đó. – linuxuser27

+0

Cuối cùng một cái gì đó hoạt động. Bước 3 rất quan trọng. – mathiasfk

Các vấn đề liên quan