代码之家  ›  专栏  ›  技术社区  ›  Thomas Koschel

如何在Visual Studio 2005中获取完整的调用堆栈?

  •  4
  • Thomas Koschel  · 技术社区  · 17 年前

    如何使用VisualStudio 2005开发C++应用程序的完整调用堆栈?我想要一个完整的调用堆栈,包括系统库中的代码。

    我必须在Visual Studio中更改一些设置,还是必须安装其他软件?

    3 回复  |  直到 16 年前
        1
  •  6
  •   Clay    17 年前
    1. 获取所有项目依赖项的调试信息。这是在项目属性的“配置属性-gt;C/c++>一般”部分下指定的。

    2. 在菜单上,转到“工具->选项”,然后选择“调试->符号”。

    3. 添加一个新的符号位置(文件夹图标),指向Microsoft的免费符号服务器symsrv 动态链接库 符号:* http://msdl.microsoft.com/downloads/symbols 艾斯

    4. 在“缓存符号”字段中填写本地的某个位置,这样您就不会一直上网。

        2
  •  0
  •   MSalters    17 年前

    同意Clay的说法,但是对于Symbols Server,您应该从免费的Microsoft下载的“Windows调试工具”中获取最新的symsrv.dll。

    (既然你明确地问你需要下载什么,我想你还没有下载)

        3
  •  0
  •   deemok    17 年前

    或者,可以选择(假定未安装Visual Studio),获取 Windows Debugging Tools ,从调试器(windbg.exe)中安装并运行应用程序,或者将其附加到已在运行的应用程序:

    windbg[.exe]-pn程序.exe

    windbg[.exe]-p进程ID

    在要观察堆栈跟踪的点(ctrl+break)插入调试器。切换到感兴趣的线程(最可能是执行的主线程):

    ~0

    修复系统模块的符号(可能也适用于应用程序,如果可用的话):

    *为应用程序设置符号
    .sympath路径\u到\u应用程序符号
    *配置调试器将在何处下载和存储系统符号
    .symfix+path_其中存储系统符号
    *强制调试器重新加载符号
    重新加载

    发出调用堆栈命令:

    知识库
    推荐文章