|
|
1
7
在Vista和Exchange中添加C++性能计数器的支持发生了变化。在另一个答案中建议的性能DLL方法仍然有效,但新技术描述了 here 更容易使用。 在这种方法中,您编写一个描述计数器的清单,运行CTRPP,这是一个从清单生成代码的工具。编译此代码并将其与应用程序链接,添加一个初始化进程的调用(它启动一个后台线程),并根据需要添加代码以更新计数器。发布计数器的详细信息由运行生成代码的后台线程处理。 您还需要运行lodctr/m:[清单文件]来注册计数器,然后才能使用它们。这必须作为管理员运行。 顺便说一句:另一个程序,unlodctr反转lodctr的效果,如果您对计数器进行任何更改,因为没有“替换”操作,则必须使用该程序,只删除旧的,然后安装新的。 <咆哮>上面所有内容的文档都非常糟糕。例如,lodctr完全为Vista重新编写,但MSDN中的文档仅适用于XP版本,不再适用。如果您访问MSDN,请随意使用“此文档没有帮助”按钮,Microsoft可能会收到此消息。</咆哮> |
|
|
2
6
http://msdn.microsoft.com/en-us/library/aa371925.aspx 这不是很难,但有点乏味,因为API涉及到广泛使用自引用、可变长度结构,并且必须使用一些IPC机制来从被监视的进程获取数据。 |
|
|
3
3
|
|
|
4
1
我在寻找更容易实现的东西。我可能不得不使用这种方法。我的一位同事(感谢PJ)也向我展示了一个Scribble教程,该教程经过修改,显示了如何使用ATL类添加性能计数器: PerformanceScribble Sample: Performance Monitoring in an MFC Application 这里最大的缺点是,目前我的应用程序不使用MFC或ATL,我必须添加对它的支持。 |