Visual studio có thể in stack cuộc gọi khi breakpoint hit, và có thể dừng lại khi điều kiện được đáp ứng, có cách nào để kết hợp và dừng khi chức năng được gọi từ một lựa chọn khác, và bỏ qua tất cả các cuộc gọi khác?Visual studio breakpoint có điều kiện trên trạng thái stack
Trả lời
Tôi tin cách duy nhất để làm điều này là với một macro. Nhấp chuột phải vào điểm ngắt của bạn, chọn "Khi nhấn ..", chọn "Chạy macro" và trỏ đến macro có dạng như sau:
Sub ContinueUnlessCalledFromRightContext()
For Each frame As EnvDTE.StackFrame In DTE.Debugger.CurrentThread.StackFrames
If (frame.FunctionName.Contains("SomeOtherMethodsName") Then Exit Function
Next
DTE.Debugger.Go() ` we weren't called from the right context so continue execution.
End Sub
Ở trên là một nửa mã psuedo; Tôi đã không thực sự kiểm tra nó, nhưng nên làm việc với một số chỉnh sửa nhỏ.
Lưu ý rằng điều này sẽ chậm như địa ngục nếu điểm ngắt được nhấn rất nhiều lần, bởi vì chạy macro từ điểm ngắt vốn đã là rất chậm chậm.
BTW, Nếu bạn được hỏi về .NET/C# nó sẽ đã đơn giản hơn rất nhiều, bạn có thể đã chỉ cần thực hiện một breakpoint có điều kiện trên
new System.Diagnostics.StackTrace().ToString().Contains("SomeOtherMethodsName")
... và được thực hiện với nó.
Không chắc nhưng bạn có thể có thể với một trong hai Filtering hoặc điều kiện, mặc dù nó có thể được dễ dàng hơn để chỉ cần đặt breakpoint về quá trình gọi điện thoại thay vì
Đây là một nguồn lực tốt: Mastering Debugging in Visual Studio 2010 - A Beginner's Guide
thiết lập điểm ngắt trên người gọi là không thuận tiện trong trường hợp của tôi, tôi sẽ phải thiết lập một số điểm ngắt, và tôi cũng muốn điều kiện trên nhiều hơn sau đó một mức độ ngăn xếp. – Vasaka
- 1. breakpoint có điều kiện trong Visual Studio
- 2. Visual Studio breakpoint được chuyển
- 3. Điều kiện C# breakpoint?
- 4. Visual Studio 2012 Bundled có điều kiện
- 5. Visual Studio 2008 - Biểu tượng thanh trạng thái Biểu ngữ?
- 6. Thanh trạng thái bị thiếu trong Visual Studio?
- 7. Visual Studio Breakpoint Bar Hiện tại không có
- 8. Visual Studio: Điều kiện "if (InDesigner)"
- 9. lưu trạng thái studio trực quan
- 10. Tại sao Visual Studio không đặt điểm ngắt có điều kiện trên thuộc tính C# đơn giản này?
- 11. visual studio 2010 breakpoint không có biểu tượng nào được tải
- 12. Máy trạng thái sự kiện JavaScript
- 13. HTTPS có trạng thái hoặc trạng thái không?
- 14. Điều kiện nhúng tài nguyên trong Visual Studio (C#)
- 15. Visual Studio 2012: Cách thực hiện sự kiện post-build có điều kiện
- 16. Cách thêm điểm ngắt có điều kiện trong Visual C++
- 17. Trạng thái ràng buộc kiểm soát nguồn không hợp lệ: Visual Studio 2005 và VSS
- 18. Visual Studio: Điều kiện tạo phím tắt trong dự án thiết lập?
- 19. C# - Visual Studio 2008 có khả năng biên dịch có điều kiện?
- 20. Trạng thái mức/trạng thái Pygame
- 21. C trên Visual Studio
- 22. Thiếu điều kiện tiên quyết cho Visual C++ trong Visual Studio 2012
- 23. Trạng thái phân phối trên nhiều máy
- 24. Làm thế nào để thiết lập các điểm ngắt có điều kiện trong Visual Studio?
- 25. Microsoft Visual Studio 2012 không thể đặt breakpoint trong C# tập tin
- 26. Android - EditText trên thông báo trạng thái
- 27. Trạng thái hỗ trợ D trên iOS
- 28. giữ trạng thái phân trang trên fnDraw()
- 29. Đang tải thanh trên thanh trạng thái?
- 30. Điều kiện thiết lập trạng thái HTTP mà không cần thao tác trực tiếp HttpServletResponse
Lưu ý từ tương lai: [macro không tồn tại trong các phiên bản hiện tại của Visual Studio] (https://social.msdn.microsoft.com/Forums/vstudio/en-US/d8410838-085b-4647-8c42-e31b669c9f11/macros -in-visual-studio-11-developer-preview? forum = vsx). Tôi đang mở cho bất kỳ đề xuất nào để thực hiện những gì OP đã yêu cầu trong VS2013 và sau đó. –