首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 请问如何查看进程堆栈?
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mhaolee
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-09 09:35:04 楼主
    请问大家:

    C语言中,局部变量,函数形参存放在堆栈(1M或2M)中。另外好象说进程中的每个线程也有一个独立的堆栈。请问这两个堆栈是不是指同一个?那么又如何查看它里面的数据呢?在VC中调试的时候打开call stack窗口,也没看懂里面的内容到底是什么。好像只是显示了函数的嵌套关系,而没有显示压入堆栈的数据。

    谢谢大家的回答与讨论。
    50  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zzhll
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 09:44:221楼 得分:0

    调试的时候有stack和memory,具体如何使用建议楼主多看些书。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jiangsheng
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 10:17:022楼 得分:0
    是同一个。你可以看ebp寄存器,在面向X86的CPU的程序中这个寄存器通常用来保存栈顶地址。参考http://blogs.msdn.com/oldnewthing/archive/2004/01/16/59415.aspx
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • k2eats
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-09 10:38:383楼 得分:0
    结合调试时候的汇编代码:
    view-》debug window-》Disassembly
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zjw6861982
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-18 16:15:494楼 得分:0
    调试状态下,反汇编
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ChamPagneZ
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-18 20:08:245楼 得分:0
    Unix
    C/C++ code
    //每个进程都有其相应的堆和栈. //运行时堆在[color=#FF0000]数据段下面[/color].向上增长;运行时栈在某一固定位置,向下增长!
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved