任务管理器转储进程是什么意思

任务管理器转储进程是什么意思,第1张

转储文件,又叫dump文件。简单来说,转储文件是进程某一时刻的快照

微软官方对转储文件的定义是这样的:转储文件是应用程序在进行转储那一时刻的快照。它显示了正在执行的进程以及已加载的模块。如果转储时保存了堆信息,则转储文件将包含该时间点应用程序的内存快照。在Visual Studio中打开包含堆信息的转储文件就像调试会话中的在断点处停止一样。尽管无法继续执行,但是可以查看应用程序在发生转储时的堆栈,线程和变量值。

转储文件一般都是在软件出现问题时手动生成或者程序自动生成。

主要有以下几个方面的原因:

一、内存访问出错

这类问题的典型代表就是数组越界。

二、非法内存访问

出现这类问题主要是程序试图访问内核段内存而产生的错误。

三、栈溢出

Linux默认给一个进程分配的栈空间大小为8M。c++申请变量时,new *** 作申请的变量在堆中,其他变量一般在存储在栈中。

因此如果数组开的过大变会出现这种问题。

扩展资料:

注意事项

段错误一般就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表,在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。

一旦一个程序发生了越界访问,cpu就会产生相应的异常保护,于是segmentation fault就出现了。在编程中基本是是错误地使用指针引起的。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11389303.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存