2011-06-28 43 views
6

Tôi đã xem một số profilers hiệu suất được đề cập here. Nhưng ....NET Profiler miễn phí cho mã hỗn hợp .NET 4.0

  • EQATec không hoạt động vì tôi có nhiều hội đồng tôi muốn hồ sơ và có giới hạn về việc lắp ráp vào hồ sơ. Làm thế nào nhiều rắc rối là nhận được một giấy phép miễn phí? Tôi sẽ tìm kiếm nếu có ai đó đảm bảo với tôi rằng EQATec có thể cấu hình cả mã được quản lý và không được quản lý
  • SlimTune chỉ lược tả mã được quản lý của tôi, ngay cả khi tôi đặt "Chức năng gốc hồ sơ" thành "Đúng"
  • XTE Profiler không còn miễn phí
  • Chúng tôi có bản sao AQTime 6 mà chúng tôi đã mua trước đó, nhưng dường như không hỗ trợ ứng dụng .NET 4.0 (thậm chí không thể khởi động ứng dụng của tôi)
  • Chúng tôi sử dụng Visual Studio 2010 Professional SP1, vì vậy chúng tôi không có hồ sơ Visual Studio
  • Tôi đã thử "hồ sơ của người nghèo" (tạm dừng chương trình nhiều lần và thấy nó ở đâu), nhưng tôi nhận được kết quả quá ngẫu nhiên và tôi quen với truyền thống hơn l profiling

(Tôi đã dành cả ngày bối rối về vấn đề này, xin lỗi nếu tôi đã quá tiêu cực)

CẬP NHẬT: Sau khi tôi làm sạch giải pháp của tôi, được xây dựng lại và kiểm tra tất cả thông tin gỡ lỗi (.pdb) đã được sao chép vào cùng thư mục với tệp thực thi, tôi đã thử lại AQTime và nó đã hoạt động! Nó cho tôi thấy thông tin thời gian định kỳ cho cả mã được quản lý và không được quản lý, vì vậy vấn đề của tôi được giải quyết. Tuy nhiên, tôi đang sử dụng một hồ sơ thanh toán, do đó, câu hỏi sẽ vẫn mở cho đến khi tôi xem xperf hoặc ai đó đến với cái gì khác

+2

+1; Tôi không nghĩ bạn âm thanh! Tôi nghĩ rằng bạn âm thanh thất vọng, nhưng kể từ khi bạn tài liệu thất vọng của bạn tốt, rất khó để không đồng ý (bạn không lười biếng, một pincher_ _penny lúc tồi tệ nhất) – sehe

+0

1 cho tôi dạy "penny pincher" ... biểu hiện? (Tôi không phải là người nói tiếng Anh bản ngữ): P –

+0

Tôi cũng vậy, tôi đã tìm kiếm nó :) [Bị trả lại qua một từ điển chỉ để tìm thứ gì đó khớp với những gì tôi muốn thể hiện] (http: //www.thefreedictionary. com/Scrooge) – sehe

Trả lời

1

OP: "Tôi sẽ tìm nó nếu ai đó đảm bảo với tôi rằng XXXX có thể hồ sơ cả mã được quản lý và không được quản lý "

C# Timing Profiler của chúng tôi không phụ thuộc vào cách mã C# được biên dịch (được quản lý hoặc không được quản lý hoặc hỗn hợp). Nó sẽ làm việc tốt cho việc này.

+0

Cảm ơn, tôi sẽ xem xét nó –

+0

Không tốt, tôi quên codebase của chúng tôi có một số dll được viết bằng VB.NET, vì vậy tôi không nghĩ rằng giải pháp của bạn sẽ làm –

+0

Chúng tôi hiện không có một công cụ trình biên dịch VB.net, đúng. Nếu không có điều đó, trình biên dịch C# sẽ không thể nắm bắt thời gian bên trong các thường trình VB.net, nhưng nó sẽ nắm bắt thời gian thực hiện của tất cả mã C#. –

0

CLR Profiler 4 bởi Microsoft miễn phí. Bạn đã thử chưa?

Bạn tìm gì trong phần không được quản lý của hồ sơ?

+0

Tương tự như tôi tìm trong phần được quản lý: chức năng hoặc dòng nào tiêu tốn nhiều thời gian hơn. Tôi đã thử nó một lần, nó đã bị rơi ngay sau khi tôi khởi chạy nó. Nghiêm trọng. –

0

Quan tâm của bạn về EQATEC Profiler có thể dễ dàng được giải quyết: nó chỉ quản lý .NET profiling, không phải ở tất cả các loại hồ sơ không được quản lý.

Như được hiển thị trong pricing chức năng lược tả thực tế chỉ khác nhau về số lượng hội đồng có thể được lược tả cùng một lúc. Vì vậy, một $ 0 phiên bản miễn phí hồ sơ một đơn WP7-ứng dụng duy nhất cũng tốt như một phiên bản doanh nghiệp $ 999. Đối với thẻ giá bổ sung, bạn có thể lập cấu hình nhiều cụm hơn cùng một lúc và một số tính năng phụ trung bình, như in, so sánh, tối thiểu/tối đa, v.v.

Nhận giấy phép miễn phí theo số trying out EQATEC Analytics được cho là dễ dàng. Đi cho giấy phép Corporate không giới hạn là một lựa chọn khá phổ biến và nhiều người đã đạt được nó chỉ trong một vài giờ. Nhận giấy phép tiêu chuẩn $ 99 miễn phí sẽ không mất quá 10 phút hoặc lâu hơn, nếu bạn tốt. Xin lưu ý: Tôi làm việc tại EQATEC và chúng tôi thực sự trao rất nhiều giấy phép miễn phí mỗi ngày vì nó gần như trở thành gánh nặng vì mỗi lần được xử lý thủ công (có, nghiêm túc!) Vì vậy ưu đãi cụ thể này có thể không tiếp tục mãi mãi.

+0

Xin lỗi, nếu nó không xử lý mã không được quản lý, nó sẽ không giúp tôi –

3

AQTime có phiên bản miễn phí của hồ sơ mới nhất của họ (http://smartbear.com/products/free-tools/aqtime-standard/) Nó hỗ trợ.Net 4, Nhưng tôi nghi ngờ nó có thể làm một hồ sơ hỗn hợp của Native và quản lý.

Nếu bạn thực sự nghiêm túc về nó, bạn có thể xem xét các công cụ xperf của Microsoft (http://msdn.microsoft.com/en-us/performance). Chúng có một đường cong học tập dốc nhưng chúng hoàn toàn miễn phí và tôi nghi ngờ rằng bất kỳ profiler thương mại nào cũng có thể làm những gì xperf có thể (các thiết bị trong hệ điều hành, không phải trong một quá trình riêng biệt, do đó, hoặc Vista, win7 hoặc win2K8 là bắt buộc). Tôi đang đợi một người nào đó viết một giao diện đẹp xung quanh nó, nhưng nó mất một chút thời gian ... ;-)

xperf sẽ cấu hình mã nguồn gốc của bạn và bạn có thể tải biểu tượng của bạn vào trình xem kết quả. Tôi không nghĩ rằng nó sẽ đi xuống đến chi tiết từng dòng mặc dù. Nó có một Nhà cung cấp Net CLR (http://msdn.microsoft.com/en-us/library/dd264809.aspx). Điều thú vị về xperf là ​​nó cũng có thể hiển thị các quá trình khác có thể ảnh hưởng đến hiệu suất của bạn (bạn có thể tự do tắt và chỉ cấu hình quy trình của riêng bạn). Ví dụ: nó có khả năng tiết lộ rằng IO của bạn chậm do trình điều khiển USB, trình quét vi-rút hoặc phần mềm tường lửa bị ghi nặng. Một profiler truyền thống sẽ chỉ hiển thị IO chậm, khiến bạn tập trung vào một nút không bị tắc nghẽn.

Nhân tiện, cũng có một giao diện ICorProfilerCallback mà bạn có thể sử dụng để viết lược tả của riêng bạn (http://msdn.microsoft.com/en-us/library/s5ec0es1.aspx).

1

Tôi chắc chắn câu trả lời cho câu hỏi của bạn là "Không có".

Khi so sánh toàn bộ một loạt các trình biên dịch .NET cách đây vài tháng, tôi thấy rất ít có thể trộn lẫn .NET/native profiling: AQTime ($ 599) và Glowcode ($ 499). Hay họ nói - tôi không thử.

EQATEC, Visual Studio, ANTS, Jetbrains dotTrace, Yourkit, XteProfiler, Slimtune v.v. không thể, vì vậy tôi nghi ngờ bạn sẽ tìm thấy một hồ sơ miễn phí sớm nhất có thể.

+0

Bạn đã thử xperf chưa? Xem câu trả lời của @Louis Somers ' –

+0

Tôi đã sử dụng xperf, nhưng chỉ sử dụng cho mã gốc - không được quản lý mã. Nói chung nó không phải là một công cụ dễ sử dụng. Chỉ cần xem "hướng dẫn 10 bước dễ dàng" tại http://blogs.msdn.com/b/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx và bạn sẽ thấy những gì tôi có ý nghĩa. Tất cả những gì bạn nhận được là đồ thị chu kỳ CPU nguyên liệu cho các cuộc gọi thư viện/hệ thống mà không có sự tương quan với mã của ứng dụng của riêng bạn và theo ý kiến ​​của tôi, điều này có nghĩa là xperf không đơn giản là một công cụ nghiêm túc cho .NET profiling. –

+0

Tôi đã đọc bài đăng bạn đã liên kết và tôi không chắc chắn lắm, có lẽ bạn có thể định cấu hình xperf để sử dụng các biểu tượng gỡ lỗi của ứng dụng cũng như thời gian chạy của ứng dụng. Tôi sẽ thử và quay lại với bạn, nhưng có thể mất chút thời gian bởi vì ngay bây giờ tôi có các kỳ thi ở trường đại học –

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