分析dll插件

Fra*_*sco 5 c++ dll profiling visual-studio-2010 visual-studio

我想在C++中配置一个dll插件.我有访问源(即作者/ mantainer),并可以对其进行修改(如果需要的仪器).我没有的是调用dll的主机程序的源/符号/等.我只有构建插件所需的标题.根据客户端的操作调用dll.

进行分析代码的最佳方法是什么?围绕dll"包装"可执行文件是不现实的,因为在插件中我从主机调用一些函数并且我需要对这些路径进行分析,因此包装器会使性能产生偏差.

在Kieren Johnston评论之后编辑:理想情况下,我想挂钩到加载的dll,就像调试器能够(附加到正在运行的主机进程并根据需要在dll中的某处放置断点).可能吗?如果没有,我将需要问另一个问题,问为什么:-)

我正在使用Visual Studio 2010的TFS版本.

在AIX下为同一任务提供建议/答案的奖励点(啊,多个环境的乐趣!).

lin*_*r27 4

这是可能的,尽管有点烦人。

  1. 将插件 DLL 部署到主机应用程序需要的位置
  2. 启动您的主机应用程序并验证它是否正在使用您的插件
  3. 创建新的性能会话
  4. 将主机 EXE 添加为步骤 3 中的会话中的目标
  5. 为您的会话选择采样或仪器
  6. 启动分析会话

在这一切过程中,保持你的插件解决方案加载,VS 应该自动找到你的插件的符号。