我知道没有标准的C函数来做到这一点.我想知道Windows和*nix上的技术是什么?(Windows XP是我现在最重要的操作系统.)
多年来我在很多游戏项目中都使用过minidumps,他们似乎有大约50%的机会拥有一个有效的调用堆栈.我该怎么做才能让他们有更好的调用堆栈?
我已经尝试将最新的dbghelp.dll放在exe目录中.这似乎有些帮助.
Visual Studio 2008或2010是否更好?(我还在VS 2005).
我使用的代码看起来像这个样本.
我以前,这里,已经表明,C++函数不容易在装配表示.现在我有兴趣阅读这种或那种方式,因为callgrind,valgrind的一部分,显示它们已经解组,而在汇编时它们被显示为损坏,所以我想要破坏valgrind函数输出或者取消函数的汇编名称.有没有尝试过类似的东西?我正在查看一个网站,发现以下内容:
Run Code Online (Sandbox Code Playgroud)Code to implement demangling is part of the GNU Binutils package; see libiberty/cplus-dem.c and include/demangle.h.
有人曾尝试过类似的东西,我想在C中进行demangle/mangle吗?我的编译器是gcc 4.x.
在Visual Studio中使用C++,我想知道是否有一个API可以为我打印callstack.最好,我想打印5级深度的callstack.Windows是否提供了一个简单的API来允许我这样做?