我正在寻找可以链接到的DLL,这将使您的.Net应用程序分析能力等同于jconsole。具体来说,我想象的是这样的:
有类似的东西吗?
答案 0 :(得分:2)
OP: 确实没有。
西蒙: Jconsole是java和.net之间真正区别的一个侧面论点。 Java很容易向用户提供.net混淆的信息。也许是因为它们有不同的意识形态和目标,java被设计成一个在任何主机操作系统上运行的通用虚拟环境,其中.net主要是为Windows设计的。
.Net流程不是为了在模糊的真空中运行;它们作为组件服务或iis的一部分运行,并且它们在Windows上运行,因此虚拟环境没有规定提供远程监控,因为你可以从wmi获得一定程度的免费。
Java不能这样工作,因为java不能对底层操作系统做出任何假设或者它将提供什么信息,并且java必须对所有系统做同样的事情。因此,java向用户提供了大量有关其内存和线程活动的数据,并提供了一个用于处理和发现用户代码(mbeans)中的托管对象的基础结构。 Jconsole和jvisualvm允许用户远程连接到java进程(本地或通过网络使用jmx,虽然jmx需要在目标java进程上激活一个标志),然后他们可以看到所有这些数据并浏览所有可用的的MBean。最重要的是,所有这些都是核心功能,程序是免费的。
.Net flat out没有这个。开发人员从一开始就将远程管理构建到他们的应用程序代码中,并且没有一个方便的查看器可以帮助用户发现甚至存在的管理对象。
此外,java代码可以简单地反转回源代码,重新构建到项目中,然后使用远程断点对生产系统进行调试。使用.net可以实现这一点,但它们肯定不容易做到。
答案 1 :(得分:1)
您是否看过CLR Profiler for the .NET Framework 2.0
作为一个.NET人,或试图成为 - :)我不确定与jconsole完全比较,但你可以分析一些东西。您可以在“CLR内存分析器”或“.NET分析器”上找到其他商业工具。