msdn 如何使用call stack窗口:

http://msdn.microsoft.com/zh-cn/library/a3694ts5(v=vs.90).aspx

使用“调用堆栈”窗口可以查看当前堆栈上的函数或过程调用。

“调用堆栈”窗口显示每个函数的名称和编写它所用的编程语言。函数或过程名可能伴随有可选信息,如模块名、行号、字节偏移量以及参数的名称、类型和值。 可以打开或关闭这些可选信息的显示。

一个黄色箭头标识执行指针当前所位于的堆栈帧。 默认情况下,该帧的信息显示在源、“反汇编”、“局部变量”、“监视”和“自动”窗口中。 如果想将上下文更改为堆栈上的另一个帧,可以在“调用堆栈”窗口中执行相应的操作。

当调试符号对部分调用堆栈不可用时,“调用堆栈”窗口也许就不能显示那部分堆栈的正确信息。 将出现以下表示法:

[下面的帧可能不正确和/或缺失,没有为 name.dll 加载符号]

在托管代码中,“调用堆栈”窗口默认情况下隐藏非用户代码的信息。 在隐藏信息处出现以下表示法:

[<External Code>]

非用户代码是指除“我的代码”以外的任何代码。 有关“我的代码”的更多信息,请参见如何:单步执行“仅我的代码”。 使用快捷菜单可以选择显示非用户代码的调用堆栈信息。

默认情况下,“调用堆栈”窗口不显示与其他线程之间的相互调用。 可以使用快捷菜单选择查看那些调用。

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。 若要更改设置,请在“工具”菜单上选择“导入和导出设置”。 有关更多信息,请参见Visual Studio 设置

以中断模式或运行模式显示“调用堆栈”窗口

  • 在“调试”菜单中选择“窗口”,然后单击“调用堆栈”。

更改显示的可选信息

  • 右击“调用堆栈”窗口,然后设置或清除“显示 <所需信息>”。

在“调用堆栈”窗口中显示非用户代码帧

  • 右击“调用堆栈”窗口,然后选择“显示外部代码”。

切换到另一个堆栈帧

  1. 在“调用堆栈”窗口中,右击要查看其代码和数据的帧。

  2. 选择“切换到帧”。

    一个带有卷尾的绿色箭头显示在所选帧旁。 执行指针保留在原始帧中,仍然用黄色箭头标记。 如果从“调试”菜单中选择“单步执行”或“继续”,执行将继续在原始帧中进行,而不是在选定的帧中进行。

显示与其他线程之间的来回调用

  • 右击“调用堆栈”窗口,然后选择“包括对其他线程和来自其他线程的调用”。

查看调用堆栈上的函数的源代码

  • 在“调用堆栈”窗口中,右击要查看其源代码的函数,然后选择“转到源代码”。

查看调用堆栈上的函数的反汇编代码

  • 在“调用堆栈”窗口中,右击要查看其反汇编代码的函数,然后选择“转到反汇编”。

从“调用堆栈”窗口运行到特定函数

在函数调用的退出点上设置断点

加载模块符号

  • 如果要重新加载模块的符号,请在“调用堆栈”窗口中右击显示该模块的帧,然后选择“加载符号”。

在“调用堆栈”窗口中,可以为当前还未加载符号的代码加载调试符号。 这些符号可以是从 Microsoft 公共符号服务器下载的 .NET Framework 符号或系统符号,也可以是正在调试的计算机上的某个符号路径中的符号。

有关更多信息,请参见如何:使用符号服务器如何:指定符号路径

加载符号

  1. 在“调用堆栈”窗口中,右击还未加载符号的帧。 此帧将显示为灰色。

  2. 指向“加载符号”,然后单击“Microsoft 符号服务器”或“符号路径”。

设置符号路径

  1. 在“模块”窗口中右击任一模块。

  2. 单击“符号设置”。

    将打开“选项”对话框并显示“符号”页。

  3. 在“选项”对话框中单击“文件夹”图标。

    在“符号文件(.pdb)位置”框中将出现一个光标。

  4. 键入所调试的计算机上的符号位置的目录路径名。 对于本地调试,此计算机指您的本地计算机。 对于远程调试,此计算机指远程计算机。

  5. 单击“确定”关闭“选项”对话框。

vs2010 调试 调用堆栈 窗口的更多相关文章

  1. Windbg Call Stack(调用堆栈)窗口的使用

    调用堆栈是指向程序计数器当前位置的函数调用链.调用堆栈的顶部函数是当前函数,下一个函数是调用当前函数的函数,依此类推.显示的调用堆栈基于当前程序计数器,除非更改寄存器上下文. 在 WinDbg 中,可 ...

  2. VC调试篇:ASSERT(FALSE)时怎么办?查看调用堆栈

    问题简述 我们在调试程序时,经常会遇到程序中断的情况,就像下图这样. 我艹,这该怎么办,我们一下子就懵逼了.我们选择中断,常常会跳到一个莫名其妙的地方去. 正是这个断言 ASSERT(::IsWind ...

  3. 在 Visual Studio 中调试时映射调用堆栈上的方法

    本文转自:https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 1.创建代码图,以便在调试时对调用堆栈进行可视化跟踪. 你可以在图中进行标注以跟 ...

  4. vs2010 调试快捷键

    vs2010 调试快捷键   命令名 快捷键 说明 调试.应用代码更改 Alt + F10 启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改. 调试.自动窗口 Ctrl + ...

  5. vs2010 调试C++程序 快捷键

    命令名 快捷键 说明 调试.应用代码更改 Alt + F10 启动生成操作,利用它可以通过“编辑并继续”功能应用对正在调试的代码所作的更改. 调试.自动窗口 Ctrl + D,Ctrl + A 显示“ ...

  6. go 代码的调试---打印调用堆栈

    本文介绍如何打印调用堆栈进行go代码的调试. 打印堆栈使用的runtime package中的Stack()函数 func Stack(buf []byte, all bool) int Stack ...

  7. 掌握VS2010调试 -- 入门指南

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...

  8. VS2010调试入门指南

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的)的时间远多于写代码的时间.通常,debug是指发现缺 ...

  9. VS2010调试 --指南 Reference from : http://blog.csdn.net/kingzone_2008/article/details/8133048

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的) 的时间远多于写代码的时间.通常,debug是指发现 ...

随机推荐

  1. Android开发匹配字符笔记

    Windows下的回车换行符是\r\n,而Linux下的回车换行符是\n 所以,在windows下可以用\r\n,而在linux下要用\n 并且还发现在linux下(既在android上开发)需要匹配 ...

  2. PID教程

    PID教程 介绍 本教程将向您展示了比例每一个比例项 (P)的特点,积分项(I)和微分项 (D) 控制,以及怎样使用它们来获得所需的响应.在本教程中,我们会考虑下面单位反馈系统: Plant[被控对象 ...

  3. HTML元素的ID和Name属性的区别

    HTML元素的ID和Name属性的区别今天突然兴致来了,想深究下这两属性的具体区别最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以 ...

  4. UICollectionView在Swift3.0中的用法

    UICollectionView在Swift3.0中的用法 UICollectionView的初始化跟OC中是相似的,创建 GameView 集成自 UICollectionView .注意不同于UI ...

  5. JS封装移动端触摸滑动插件应用于导航banner【精装版】

    自己封装了一个小插件,一个小尝试. 可用于类似于京东导航等效果,效果多样化,很方便. 欢迎大家提点意见. mrChenSwiper(  {parent, child, type, parentN, c ...

  6. html5储存篇(二)

    indexedDB   相对于html5 中提到 web SQL Database,w3c已经明确声明放弃对其的继续支持,开始支持新的客户端数据库 indexedDB ,indexedDB 是一种no ...

  7. [LeetCode]题解(python):077-Combinations

    题目来源: https://leetcode.com/problems/combinations/ 题意分析: 给定一个n和k,输出1到n的所有k个数的组合.比如n = 4,k=2 [ [2,4], ...

  8. 09-C语言数组

    目录: 一.使用xcode编辑工具 二.数组 三.数组遍历 四.多维数组 回到顶部 一.使用xcode编辑工具 1 打开xcode程序 2 创建一个项目 OSX -> Application - ...

  9. 为Firefox 添加自定义搜索引擎

    网上流传的 about:config[对于新版已经失效] 以及到Firefox安装目录中修改 的方式不知道为什么我没有成功 现在来个简单点得! 首先我们需要一个可以自定义搜索引擎的插件 Organiz ...

  10. 怪兽z主机标准版视频测试。

    我的淘宝店很早就开张了,但是一直没有好好打理,这次给大家带来的是本店所售一款主机的视频测试. CPU:AMD -A10 6700 主板:映泰Hi-Fi A88S3E 内存条:正品金士顿骇客游戏神条 机 ...