我习惯gprof来分析我的C代码,但是我想开始使用基于GUI的Windows应用程序,例如Luke Stackwalker。 gprof在我的二进制文件上工作得很好,但是Luke Stackwalker有一些问题:

Launching executable C:\lshare\POT03\Eclipse\Debug\POTaak3.exe.
SymInit: Symbol-SearchPath: ';.;C:\Program Files\Luke Stackwalker;C:\Program Files\Luke Stackwalker;C:\WINDOWS;C:\WINDOWS\system32;SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols;', symOptions: 530, UserName: 'Pieter'

OS-Version: 5.1.2600 (Service Pack 3) 0x100-0x1

C:\lshare\POT03\Eclipse\Debug\POTaak3.exe:POTaak3.exe (00400000), size: 61440, SymType: '-unknown-', PDB: '$Tƒ|'
C:\WINDOWS\system32\ntdll.dll:ntdll.dll (7C900000), size: 753664, SymType: '-unknown-', PDB: '©Uƒ|'
C:\WINDOWS\system32\kernel32.dll:kernel32.dll (7C7D0000), size: 1048576, SymType: '-unknown-', PDB: '©Uƒ|'
C:\WINDOWS\system32\msvcrt.dll:msvcrt.dll (77BE0000), size: 360448, SymType: '-unknown-', PDB: '©Uƒ|'
ERROR: SymGetModuleInfo64, GetLastError: 1114 (Address: 7C90E514)
Sorting profile data.
Done; 2 samples collected at 1.$ samples/second.


谁开枪打中谁了?我在这里做错了什么?我确实记得使用-pg标志。

最佳答案

我了解您为什么要something other than gprof。卢克·斯塔克沃克(Luke Stackwalker)提取堆栈样本,但是(我最后一次检查)它没有总结在代码行级别使用的壁钟时间(含%)。在Linux上,可以使用lsstack或pstack,并且Windows上必须有类似的工具。在您的情况下,我仅依靠IDE中的“暂停”按钮执行stackshots

关于c - Luke Stackwalker运行时返回错误,gprof正常运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2302596/

10-08 21:01