【发布时间】:2011-01-26 20:58:41
【问题描述】:
我有创建 dll 的项目。这些 dll 稍后由特殊插件系统 blue-sky 从 python 调用。所以在这个项目中构建可执行文件非常困难,但我需要分析。有没有可以使用纯 dll 的分析器?
我尝试过 Intel Amplifier、Microsoft VS2008 profiler,但它们不起作用。我也试过 Very Sleepy,但它的功能有限。
【问题讨论】:
我有创建 dll 的项目。这些 dll 稍后由特殊插件系统 blue-sky 从 python 调用。所以在这个项目中构建可执行文件非常困难,但我需要分析。有没有可以使用纯 dll 的分析器?
我尝试过 Intel Amplifier、Microsoft VS2008 profiler,但它们不起作用。我也试过 Very Sleepy,但它的功能有限。
【问题讨论】:
如果您的 dll 是由 Python 加载的,那么您需要分析 Python 进程。使用 Microsoft 分析器,只要存在所有 .pdb 文件,它就应该解析 dll 中的符号。另一种选择是创建一个可执行文件来加载和调用您感兴趣的函数,然后分析所述可执行文件。
例如您可能有一个“python.exe”进程正在运行正在加载 .dll 的 python 程序,您可以通过以下方式将 Visual Studio 命令行分析器附加到它:
vsperfcmd /attach:"python.exe"
【讨论】:
您无法分析未运行的代码——这就是分析的定义。您将需要构建可以运行的东西(可执行文件)链接到 DLL 并使用它。
【讨论】:
DllMain()。