<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SIGSEGV</id>
	<title>SIGSEGV - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SIGSEGV"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SIGSEGV&amp;action=history"/>
	<updated>2026-07-17T19:27:51Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=SIGSEGV&amp;diff=607968&amp;oldid=prev</id>
		<title>imported&gt;1F616EMO：​// Edited via InPageEdit</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SIGSEGV&amp;diff=607968&amp;oldid=prev"/>
		<updated>2025-08-01T14:39:49Z</updated>

		<summary type="html">&lt;p&gt;// Edited via InPageEdit&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{noteTA&lt;br /&gt;
|G1=IT&lt;br /&gt;
|1=zh-cn:宏;zh-tw:巨集&lt;br /&gt;
|2=zh-cn:段;zh-tw:區段&lt;br /&gt;
|3=zh-cn:栈;zh-tw:堆疊&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox Computing signal&lt;br /&gt;
|description = 无效内存引用&lt;br /&gt;
|action      = 进程异常终止&lt;br /&gt;
| SEGV_MAPERR | 地址没有映射到对象&lt;br /&gt;
| SEGV_ACCERR | 对映射的对象没有权限&lt;br /&gt;
}}&lt;br /&gt;
在[[POSIX]]&amp;lt;!-- Original: [[POSIX]] --&amp;gt;兼容的平台上，&amp;#039;&amp;#039;&amp;#039;SIGSEGV&amp;#039;&amp;#039;&amp;#039;是当一个[[行程|进程]]&amp;lt;!-- Original: [[process (computing)|process]] --&amp;gt;执行了一个无效的内存引用，或发生[[段错误]]时发送给它的[[信号 (计算机科学)|信号]]。SIGSEGV的[[C语言预处理器|符号常量]]在[[头文件]]&amp;lt;!-- Original: [[header file]] --&amp;gt;&amp;lt;code&amp;gt;signal.h&amp;lt;/code&amp;gt;中定义。因为在不同平台上，信号数字可能变化，因此符号信号名被使用。{{or|通常}}，它是信号#11。&amp;lt;ref&amp;gt;{{ cite web | url = http://sourceware.org/git/?p=glibc.git;a=blob;f=bits/signum.h | title = sourceware.org Git - glibc.git/blob - bits/signum.h | accessdate = 2009-11-18 | date = 2001-07-06 }}{{dead link|date=2017年11月 |bot=InternetArchiveBot |fix-attempted=yes }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 语源 ==&lt;br /&gt;
&amp;#039;&amp;#039;SIG&amp;#039;&amp;#039;是信号名的通用[[詞綴|前缀]]&amp;lt;!-- Original: [[Prefix (linguistics)|prefix]] --&amp;gt;。&amp;#039;&amp;#039;SEGV&amp;#039;&amp;#039;是&amp;#039;&amp;#039;segmentation violation&amp;#039;&amp;#039;（段违例）的[[縮寫|缩写]]&amp;lt;!-- Original: [[abbreviation]] --&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 使用 ==&lt;br /&gt;
对于不正确的内存处理（见[[段错误]]），计算机程序可能抛出SIGSEGV。[[操作系统]]&amp;lt;!-- Original: [[operating system]] --&amp;gt;可能使用信号[[堆栈|堆疊]]&amp;lt;!-- Original: [[Stack (data structure) |stack]] --&amp;gt;向一个处于自然状态的应用程序通告错误，由此，开发者可以使用它来[[调试]]&amp;lt;!-- Original: [[debug]] --&amp;gt;程序或处理错误。&lt;br /&gt;
&lt;br /&gt;
在一个程序接收到SIGSEGV时的默认动作是异常终止。这个动作也許會结束[[行程|进程]]&amp;lt;!-- Original: [[process (computing)|process]] --&amp;gt;，但是可能生成一个[[核心文件]]&amp;lt;!-- Original: [[core file]] --&amp;gt;以帮助调试，或者执行&amp;lt;!-- perform --&amp;gt;一些其他特定于某些平台的动作。例如，使用了[[grsecurity]]补丁的[[Linux]]&amp;lt;!-- Original: [[Linux]] --&amp;gt;系统可能记录SIGSEGV信号以监视可能的使用[[缓存溢出]]&amp;lt;!-- Original: [[buffer overflow]] --&amp;gt;的攻击尝试。&lt;br /&gt;
&lt;br /&gt;
SIGSEGV可以被捕获。也就是说，应用程序可以请求它们想要的动作，以替代默认发生&amp;lt;!-- occur --&amp;gt;的动作。这样的动作可以是忽略它、调用一个[[子程序|函数]]&amp;lt;!-- Original: [[subroutine|function]] --&amp;gt;，或恢复默认的动作。在一些情形下，忽略SIGSEGV导致[[未定义行为]]。&amp;lt;ref&amp;gt;{{cite web | url = http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html | title = System Interfaces Chapter 2 | date = 2004年 | accessdate = 2009-11-18 | archive-date = 2009-03-03 | archive-url = https://web.archive.org/web/20090303103437/http://opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html | dead-url = no }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
一个应用程序可能处理SIGSEGV的例子是[[调试工具|调试器]]&amp;lt;!-- Original: [[debugger]] --&amp;gt;，它可能检查信号栈并通知[[软件设计师|开发者]]&amp;lt;!-- Original: [[Software developer|developer]] --&amp;gt;目前所发生的，以及程序终止的位置。&lt;br /&gt;
&lt;br /&gt;
SIGSEGV通常由[[操作系统]]&amp;lt;!-- Original: [[operating system]] --&amp;gt;生成，但是有适当权限的用户可以在需要时使用&amp;lt;code&amp;gt;kill&amp;lt;/code&amp;gt;[[系统调用]]或[[kill (Unix)|kill]]命令（一个[[用户级 (计算机科学)|用户级]]程序，或者一个[[Unix shell|shell]]内建命令）来向一个进程发送信号。&lt;br /&gt;
&lt;br /&gt;
== 参考 ==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部链接 ==&lt;br /&gt;
* [http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html The Open Group Base Specifications Issue 6 signal.h]{{Wayback|url=http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html |date=20091025174604 }}&lt;br /&gt;
&lt;br /&gt;
{{Computing signals}}&lt;br /&gt;
&lt;br /&gt;
[[Category:计算机错误]]&lt;/div&gt;</summary>
		<author><name>imported&gt;1F616EMO</name></author>
	</entry>
</feed>