Segmentation Fault
- ํ๋ก๊ทธ๋จ์ด ํ์ฉ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ ๊ทผํ๋ ค ํ ๋ ๋ฐ์ํ๋ ์ค๋ฅ์ ๋๋ค. ์ด ์ค๋ฅ๋ ์ฃผ๋ก ์๋ชป๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฐธ์กฐํ๊ฑฐ๋, ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ๊ถํ์ ์๋ฐํ์ ๋ ์ด์์ฒด์ ์ ์ํด ๊ฐ์ง๋์ด ํ๋ก๊ทธ๋จ์ด ๊ฐ์ ์ข ๋ฃ๋๋ ํ์์ ๋๋ค.
Segmentation Fault์ ๊ฐ๋
- ์ด์์ฒด์ ๋ ํ๋ก๊ทธ๋จ์ด ์คํ ์ค ์ฌ์ฉํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ํ๋ก์ธ์ค๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ํ ๋นํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณดํธํฉ๋๋ค. ๊ฐ ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ๊ฐ ํ ๋นํ ๋ฉ๋ชจ๋ฆฌ ๋ด์์๋ง ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ธ ์ ์์ผ๋ฉฐ, ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด๋ ์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- Segmentation Fault๋ ์ด๋ฌํ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ์์น์ ์๋ฐํ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ๋ฐ์ํ ๋ ์ด์์ฒด์ ๊ฐ ํด๋น ํ๋ก์ธ์ค๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๋ฐ์์ํค๋ ์ค๋ฅ์ ๋๋ค.
์์
- ๋ ํฌ์ธํฐ๋ ์ด๊ธฐํ๋์ง ์์ ํฌ์ธํฐ๋ฅผ ์ฐธ์กฐ: ์ด๊ธฐํ๋์ง ์์ ํฌ์ธํฐ๋ ์์ธก ๋ถ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํฌ ์ ์์ผ๋ฉฐ, ๋ ํฌ์ธํฐ๋ ์ ๊ทผํ ์ ์๋ 0๋ฒ์ง์ ๋ํ ์ฐธ์กฐ์ด๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ๋ฉ๋๋ค.
- ํด์ ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ: ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํ free๋ delete๋ก ํด์ ํ ๋ฉ๋ชจ๋ฆฌ์ ๋ค์ ์ ๊ทผํ ๋ ๋ฐ์ํฉ๋๋ค.
- ์๋ชป๋ ๋ฐฐ์ด ์ธ๋ฑ์ค ์ ๊ทผ: ๋ฐฐ์ด์ ์ ํจ ๋ฒ์๋ฅผ ๋์ด์ ์ธ๋ฑ์ค์ ์ ๊ทผํ๋ ค ํ ๋ ํ ๋น๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๊ฒ ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- ์ฝ๊ธฐ ์ ์ฉ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ: ๋ฌธ์์ด ์์์ ๊ฐ์ด ์ฝ๊ธฐ ์ ์ฉ ์์ญ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๋ ค๊ณ ํ๋ฉด ๋ฐ์ํฉ๋๋ค.
Segmentation Fault๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณดํธํ๋ ์ด์
- Segmentation Fault๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ์ ํจํ์ง๋ฅผ ์ด์์ฒด์ ๊ฐ ๊ฒ์ฌํ์ฌ ์๋ชป๋ ์ ๊ทผ์ ์ฐจ๋จํจ์ผ๋ก์จ ์์คํ ์ ์์ ์ฑ๊ณผ ๋ณด์์ ๋ณด์ฅํฉ๋๋ค.
- ๋ง์ฝ ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ ์ด์์ฒด์ ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ ๋กญ๊ฒ ์ ๊ทผํ ์ ์๋ค๋ฉด, ๋ฐ์ดํฐ ์์, ๋ณด์ ์ํ, ์์คํ ๋ถ์์ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. Segmentation Fault๋ ์ด๋ฅผ ์๋ฐฉํ์ฌ ํ๋ก๊ทธ๋จ์ด ํ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์์๋ง ๋์ํ๋๋ก ์ ํํฉ๋๋ค.
'๐ซ Krafton Jungle > PintOS Project2 _ User Programs' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Pintos] Project2_User Programs | ํ๋ก์ ํธ ์งํ ๋ฐฉํฅ ๋ฐ ์์ (3) | 2024.11.28 |
|---|---|
| [Pintos] Project02 _ User Programs | Keyword | Interrupt (1) | 2024.11.28 |
| ์์ ๋ฐ ๋ณด์ ํ์ - rax register (1) | 2024.11.28 |
| ์์ ๋ฐ ๋ณด์ ํ์ - Atomic Operation (0) | 2024.11.28 |
| ์์ ๋ฐ ๋ณด์ ํ์ - File Descriptor (1) | 2024.11.28 |