如何让Very Sleepy分析器识别c++二进制文件中的函数名?
How can I get Very Sleepy profiler to recognize function names in C++ binary?
我有一个用Visual Studio 2010构建的混合c#/托管c++/非托管c++的工具。代码实际上分布在。exe(我将其称为mybinary.exe)和。dll (mylib.dll.)
我已经为dll和exe设置了项目上的构建设置,以便在发布构建中生成PDB文件。我已经确保PDB文件都在exe和PDB所在的同一目录中。但是当我调试这个程序时,我仍然看不到函数的名字;我只看到地址。当我在Very Sleepy的第一个屏幕中选择程序时,下面是我在底部小状态栏中看到的相关摘录:
DBGHELP: mybinary.vshost - public symbols
C:Users(me)AppDataLocalsleepyvshost32-clr2.pdb(long hex string)vshost32-clr2.pdb
...
DBGHELP: No debug info for C:myprojmylib.dll. Searching for dbg file
DBGHELP: C:myprojmylib.dbg - file not found
DBGHELP: C:myprojdllmylib.dbg - path not found
DBGHELP: C:myprojsymbolsdllmylib.dbg - path not found
SYMSRV: C:UserspeastlundAppDataLocalsleepymylib.dbg4EF1F48B13c000mylib.dbg not found
DBGHELP: C:myprojmylib.dbg - file not found
DBGHELP: C:myprojdllmylib.dbg - path not found
DBGHELP: C:myprojsymbolsdllmylib.dbg - path not found
DBGHELP: C:myprojmylib.dbg - file not found
DBGHELP: C:myprojmylib.dll missing debug info. Searching for pdb anyway
DBGHELP: mylib - public symbols
C:myprojmylib.pdb - unmatched
...
DBGHELP: MOD: mybinary.vshost
...
DBGHELP: mybinary - private symbols & lines
C:myprojmybinary.pdb
所以看起来匹配mylib有问题。pdb到mylib.dll,由于某种原因我不清楚,但我要注意的是,我也没有得到来自mybinary.exe的函数的适当地址。我有一台最新安装的新电脑,所以这不是"某些库过时了"的问题。
非常感谢如果有人可以帮助这个!
编辑:实际上,事实证明这不是特定于优化的代码。其他分析器在优化c++时存在一些问题,这就是为什么我切换到Very Sleepy,但在测试中我现在意识到,使用Very Sleepy,即使在调试模式下编译,我似乎也无法获得函数名。
确保以下内容:
- 你已经将符号搜索路径(工具->选项)设置为本地路径
- 首先启动应用程序,然后启动休眠和配置文件
- 在应用程序终止前停止分析
相关文章:
- 正在读取二进制文件(is_open)
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 保存/加载大量短数组到二进制文件
- 从二进制文件中读取整数数组
- Android 在编译二进制文件时重建静态库
- 查找二进制文件的大小,函数 tellg() 返回 -1
- C++中的类/函数模板占用了我的二进制文件的百分比是多少?
- 未显式引用对象的全局对象构造函数在最终二进制文件 - LD 中被丢弃
- C++二进制文件到结构函数
- 用于在二进制文件上写入函数的 cpp 指针
- 从二进制文件读取后,当控件返回到调用函数时,出现未处理的异常
- 通过头文件函数将遍历的数据从二进制搜索树加载到Vector中
- 函数调用者如何使用头文件来确定如何处理已编译的二进制文件
- 如何让Very Sleepy分析器识别c++二进制文件中的函数名?
- 为什么使用write函数而不是整数将奇怪的符号写入二进制文件
- 函数读取二进制文件使用v8
- 包括boost函数.hpp,而不使用它,会使我的二进制文件的大小增加200k.为什么?
- 将lambda表达式或函数保存为二进制文件
- 内联函数是否使对编译后的二进制文件进行逆向工程变得更加困难?