通过Windows

时间:2016-02-05 10:44:53

标签: c++ windows operating-system

我正在编写一个C ++ Qt应用程序,我尝试对其进行分析,以便我可以看到它中的慢速函数。

我使用非常困难的CS来实现这一目标。但是在调试模式下,我得到函数名称和好的callstack信息,我只得到十六进制地址,并且在发布模式下没有callstack,但是性能分析应该在发布模式下完成,因为调试模式会做很多事情(它已经是8/10了)只需切换模式^^)即可快一些。

我尝试生成一个.map文件,但似乎文件中存在的偏移量只包含有关.exe文件中地址的信息(这些信息类似于ELF文件中的信息,但在外面可执行文件)。

所以我想知道,有没有办法在运行时通过地址获取符号名称(就像我得到程序的起始地址一样,偏移量也有意义,因为它可以用ELF文件完成,在/ proc / pid / map文件中获取堆栈,并使用符号偏移信息进行偏移)?

或者是否可以在没有调试模式的情况下生成.pdb文件?

0 个答案:

没有答案