Tôi chỉ muốn sử dụng .NET Profiling API (ICorProfilerCallback
vv) nhưng đồng thời không muốn xử lý C++. Tôi đã nhìn xung quanh một lúc và không tìm thấy bất kỳ ví dụ nào trong C# nhưng C# + C++ trong đó phần thú vị nhất được viết bằng C++.Có thể sử dụng API lược tả ngay từ C# không?
Trả lời
Không, bạn không thể thực hiện CLR profiling API trong mã quản lý (C# hay cách khác) kể từ khi callbacks profiling được gọi là vào những thời điểm rất cụ thể khi môi trường được quản lý được giả định là trong trạng thái nhất định. Triển khai callbacks của bạn trong mã được quản lý sẽ vi phạm rất nhiều giả định.
David Broman, nhà phát triển của các API CLR profiling, có this to say:
Bạn cần phải viết hồ sơ của bạn trong C++. Trình lược tả được gọi bằng thời gian chạy tại các điểm rất tinh tế trong khi thực hiện của ứng dụng được lược tả, và thường rất không an toàn để được chạy mã được quản lý tại các điểm đó.
David's blog là tài nguyên tuyệt vời để xử lý các API lược tả CLR.
Tôi nghi ngờ điều đó nhưng cảm ơn dù sao) –
chỉ có bản địa là tôi sợ –
http://research.microsoft.com/en-us/um/redmond/projects/pex/wiki/Microsoft.ExtendedReflection.html –
- 1. API lược tả bộ nhớ cache đơn giản
- 2. Không thể sử dụng trình lược tả VisualVM với plugin Maven Jetty
- 3. API C C: Sử dụng PyEval_EvalCode
- 4. Công cụ lược tả Delphi
- 5. Có thể sử dụng modestbranding với youtube-api không?
- 6. Công cụ lược tả cho Clojure?
- 7. Python cProfile: cách lọc ra các cuộc gọi cụ thể từ dữ liệu lược tả?
- 8. Hiệu suất đa luồng và lược tả
- 9. Công cụ để lược tả mã OCaml
- 10. timeline đồ họa tạo ra API phần mềm để lược tả một chương trình C++ đa luồng
- 11. Sử dụng WPFPerf để lược tả một ứng dụng WPF 4.0 không hiển thị cho tôi bất kỳ thông tin
- 12. Trình lược tả thời gian trong các dụng cụ
- 13. Có thể valgrind xuất báo cáo một phần mà không cần phải thoát khỏi ứng dụng được lược tả?
- 14. Sử dụng máy in USB có C#, có và không có trình điều khiển hoặc API
- 15. Có thể sử dụng từ điển trong C++
- 16. Có cách nào trong trình lược tả SQL để lọc theo các câu lệnh INSERT không?
- 17. Sử dụng lược tả "Rất buồn ngủ" để cấu hình các tệp tin DLL
- 18. Hiệu suất lược tả của OpenGL Shaders
- 19. Có thể sử dụng API Điểm & Thành tích từ Facebook chỉ từ một ứng dụng di động gốc không?
- 20. Có thể sử dụng Mathematica từ các ngôn ngữ lập trình khác (python/C#) không?
- 21. iPhone: Không thể giả lập để tạo tệp dữ liệu lược tả .gcda
- 22. Bạn có thể sử dụng <input type = "tel" /> ngay bây giờ không?
- 23. Thông tin chi tiết về facebook có sử dụng API biểu đồ hoạt động ngay bây giờ không?
- 24. Có thể sử dụng HttpBrowserCapabilities từ một ứng dụng giao diện điều khiển C# không?
- 25. Tôi có thể sử dụng lõi trong GPU từ C# KHÔNG thay đổi mã?
- 26. C# - Có thể sử dụng các hộp bể bơi không?
- 27. Cách sử dụng Mẫu Chiến lược với C#?
- 28. Có phải 'đang sử dụng' từ khóa C# không?
- 29. Có phải múi giờ cụ thể sử dụng DST ngay bây giờ không?
- 30. Có thể tự động tạo mã llvm C++ api từ LLVM-IR không?
Bạn muốn tìm các tắc nghẽn hoặc rò rỉ bộ nhớ? Nếu trước đây, bạn nên biết [kỹ thuật này] (http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024) . Nó hiệu quả và không cần một API, chỉ là một trình gỡ rối. –
bạn gặp vấn đề gì với C++? kịch bản của bạn là gì? –