none
vs2008 调试64位程序 看不到完整栈信息 RRS feed

  • 问题

  • vs2008 调试64位程序 当栈使用大于500k左右的时候,即使设置程序的默认栈大小为10M,调试的时候依然看不到完整的栈信息

    如果是调试32位程序则没有此问题  求解:

    2014年7月1日 8:14

答案

  • 程序设置的栈,是用来设置运行时变量存储的栈大小的,不是debug时候的栈。你看不到全部的,应该是引用了外部的lib或者dll,但是没有pdb或者源代码导致。

    麻烦把正确答案设为解答。

    2014年7月2日 1:46
    版主

全部回复

  • 程序设置的栈,是用来设置运行时变量存储的栈大小的,不是debug时候的栈。你看不到全部的,应该是引用了外部的lib或者dll,但是没有pdb或者源代码导致。

    麻烦把正确答案设为解答。

    2014年7月2日 1:46
    版主
  • 两者不是一个东西我明白,关键就是,同一个程序,都用vs2008编译

    1.编译32位程序,调试可以看到全部callstack

    2.编译64位程序,

    *如果栈的使用小于某个值(大概是500k左右),可以看到全部的callstack

    *栈使用大于500k的时候,就看不到完整的callstack

    所以我推测是vs2008的某个bug导致,查了下vs2008有3个补丁,但是找不到补丁的内容,不确定是否修复了这个bug

    2014年7月2日 8:40