论坛首页
精选版块
移动开发
iOS
Android
Qt
WP
云计算
IaaS
Pass/SaaS
分布式计算/Hadoop
Java技术
Java SE
Java Web 开发
Java EE
Java其他相关
.NET技术
.NET Framework
C#
.NET分析与设计
ASP .NET
VB .NET
Web开发
PHP
JavaScript
ASP
HTML(CSS)
HTML5
Apache
开发语言/框架
Delphi
VC/MFC
VB
C/C++
C++ Builder
其他开发语言
数据库开发
MS-SQL Server
Oracle
PowerBuilder
Informatica
其他数据库开发
硬件/嵌入式开发
嵌入开发(WinCE)
驱动开发/核心开发
硬件设计
单片机/工控
汇编语言
VxWorks开发
Linux/Unix社区
系统维护与使用区
应用程序开发区
内核源代码研究区
驱动程序开发区
CPU和硬件区
论坛牛人
排行榜
论坛地图
我要发贴
论坛帮助
CSDN论坛
>
硬件/嵌入开发
>
驱动开发/核心开发
异常时候保存现场的栈和程序中用的栈一样吗?
[问题点数:100分]
收藏帖子
回复
⋅
正则表达式问题
⋅
宏中的函数返回类型问题
⋅
用C生成PDF,并且PDF打开时候需要密码
更多帖子
关注
空间
博客
yangkunhenry
本版专家分:0
结帖率 96.88%
在遇到HardFault的时候,会保存现场会把寄存器的值压入栈,这里的栈和程序申请的栈区同属一块区域吗?
0
2018-08-01 20:57:02
回复数
4
只看楼主
引用
举报
楼主
⋅
此用户还没有发表过任何帖子
关注
空间
博客
剑之名
本版专家分:0
是同一个堆栈的。
divide_error:
pushl $_do_divide_error
no_error_code:
xchgl %eax,(%esp)
pushl %ebx
pushl %ecx
pushl %edx
pushl %edi
pushl %esi
pushl %ebp
push %ds
push %es
push %fs
pushl $0 # "error code"
lea 44(%esp),%edx
pushl %edx
movl $0x10,%edx
mov %dx,%ds
mov %dx,%es
mov %dx,%fs
call *%eax
这是出错处理的汇编,,寄存器的入栈是在处理函数调用(call)和用户切换(mov $0x10……)之前。
0
2018-08-02 16:03:00
只看TA
引用
举报
#1 得分 0
⋅
此用户还没有发表过任何帖子
关注
空间
博客
风影-取名字真烦
本版专家分:100
是一个位置,这里有应用程序出错的信息,调用堆栈,调用参数以及函数返回地址等等所有信息,如果想知道这些,可以看一下Microsoft的技术区的一个牛人写的一本书,好象就windows应用层高级排错什么的,会详细告诉你这些,如果记错了,你就看看windbg的相关使用吧,都是关于出错后对堆栈的查看来排错的
0
2018-10-26 01:47:56
只看TA
引用
举报
#3 得分 0
⋅
博客不支持word导入么
更多帖子
关注
空间
博客
迷雾绿洲
本版专家分:6260
红花
2018年4月 硬件/嵌入开发大版内专家分月排行榜第一
异常使用的一般是中断专用的栈,两套系统并行的
0
2018-12-22 10:02:50
只看TA
引用
举报
#4 得分 0
收藏帖子
登录
注册
+
匿名用户不能发表回复!
×
New message