【发布时间】:2009-03-06 01:50:25
【问题描述】:
我感觉我可能已经知道这个问题的答案了,但我还是会问的。
有没有比 COM/Managed C++ 路由更好的方法来使用 .Net Profiling API?
我不愿意遵循建议的 COM 方法是这样的:
- 努力,开始需要大量的跑腿
- 不喜欢连接 C++ dll 所涉及的魔法,不容易通过项目重新分发
- 感觉很难进行单元测试
- 不想在 C++ 中表现。我可以创建一个互操作层,但工作量更大
- 很难调试。根据我收集到的信息,您无法将调试器附加到实际的 C++ 层,因此您需要返回日志文件等
我遇到了一个名为NProf 的项目,它试图用托管层封装 API。不幸的是,它自 2003 年以来就没有更新过。
有没有人可以提供帮助?这一切只是感觉有点恶心。
说明:
- 这描述了我所指的 API:The Profiling API
- 我正在使用 Visual Studio 2008 和 v3.5 框架
【问题讨论】:
-
不知道您使用的是哪个 VS 版本,但请看这里:msdn.microsoft.com/en-us/library/…。其中一些内容也可用于 2005 版。
-
您使用的是网络框架版本? 2,3,3.5 ?
-
更新中的澄清版本。
-
您可以将调试器附加到实际的 C++ 层。为此,请添加代码“__asm int 3;”你想第一次打破的地方。编译并运行您的分析器。当它到达那条线时,会弹出一个弹出窗口,说程序已经崩溃。单击“调试”,然后附加所需的任何调试器。就是这样。