๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
728x90

๊ฐœ์ธ ๊ณต๋ถ€84

๋ฐฑ์ค€ํ—ˆ๋ธŒ ์—ฐ๋™ํ•˜๊ธฐ ๐Ÿฅ ํฌ๋กฌ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์„ค์น˜ ๐Ÿฅ ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ๊ด€๋ฆฌ -> ๋ฐฑ์ค€ํ—ˆ๋ธŒ ๊ณ ์ • ๐Ÿฅ Authenticate ํ›„ ๊นƒํ—ˆ๋ธŒ ๋กœ๊ทธ์ธ ๐Ÿฅ ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ช… ์ž…๋ ฅ (๋˜๋Š” ์ƒˆ๋กœ ์ƒ์„ฑ) ๐Ÿฅ ์—ฐ๋™ ์™„๋ฃŒ 2023. 6. 15.
gdb ๋ช…๋ น์–ด โœ… gdb๋ž€? - GNU์—์„œ ๊ฐœ๋ฐœํ•œ command line debugging tool. - ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋  ๋•Œ, ๋‚ด๋ถ€์—์„œ ์–ด๋–ค ์ผ์ด ์‹คํ–‰๋˜๋Š”์ง€ ์ถ”์  ๊ฐ€๋Šฅํ•˜๋„๋ก ๋งŽ์€ ํ•จ์ˆ˜๋ฅผ ์ œ๊ณตํ•œ๋‹ค. - c ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•œ ๋’ค, ํ„ฐ๋ฏธ๋„์— gdb ํ”„๋กœ๊ทธ๋žจ์ด๋ฆ„ ์„ ์ž…๋ ฅํ•˜๋ฉด gdb๊ฐ€ ์‹คํ–‰๋œ๋‹ค. - ์ปดํŒŒ์ผ ํ•˜๋Š” ๋ฐฉ๋ฒ• : $ gcc -g -o [output] [input file] โœ… gdb ๋ช…๋ น์–ด ํ–‰๋ฒˆํ˜ธ b : ํ•ด๋‹นํ–‰์— breakpoint๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค. r [ํŒŒ๋ผ๋ฏธํ„ฐ] : run ํ–‰๋ฒˆํ˜ธ clear : ํ•ด๋‹น ํ–‰์˜ breakpoint๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค info b : breakpoint๋“ค๊ณผ ๊ฐ๊ฐ์˜ state๋ฅผ ๋ณด์—ฌ์ค€๋‹ค p : ํ˜„์žฌ ์ง€์ ์—์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  ๋ณ€์ˆ˜๋ฅผ printํ•ด์ค€๋‹ค. info locals : ํ˜„์žฌ ์ง€์ ์—์„œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  .. 2023. 6. 12.
๋งฅ๋ถ ์•„ํ‚คํ…์ฒ˜ ARM๊ธฐ๋ฐ˜์ธ์ง€ Intel๊ธฐ๋ฐ˜์ธ์ง€ ํ™•์ธํ•˜๊ธฐ ARM ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์™€ Intel ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜์—๋Š” ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ?ARM๊ณผ Intel ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐจ์ด์ ์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.๋งฅ๋ถ์—์„œ ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ์•„ํ‚คํ…์ฒ˜ ํ™•์ธํ•˜๋Š”๋ฒ• โœ… ๊ฐ„๋‹จํ•˜๊ฒŒ Apple ๋ฉ”๋‰ด > ์ด Mac์— ๊ด€ํ•˜์—ฌ ์—์„œ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. - ARM ๊ธฐ๋ฐ˜ Mac์˜ ๊ฒฝ์šฐ, Apple M1, Apple M2, Apple Sillicon ๋“ฑ์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค. - Intel ๊ธฐ๋ฐ˜ Mac์˜ ๊ฒฝ์šฐ, Intel Core ๋˜๋Š” Intel Xeon ์œผ๋กœ ํ‘œ์‹œ๋œ๋‹ค. โœ… ํ„ฐ๋ฏธ๋„์— `uname -p` ๋˜๋Š” `uname -m` ์„ ์ž…๋ ฅํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. - ์˜ต์…˜ -m์€ ์‹œ์Šคํ…œ์˜ ๊ธฐ๊ณ„ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ , -p๋Š” ํ”„๋กœ์„ธ์„œ ํƒ€์ž…์„ ๋‚˜ํƒ€๋‚ด์ค€๋‹ค. - ARM ๊ธฐ๋ฐ˜ Mac์˜ ๊ฒฝ์šฐ, arm64, aarch64 ๋“ฑ์œผ๋กœ ํ‘œ.. 2023. 5. 11.
mmap() โœ… mmap()? - POSIX ํ‘œ์ค€์—์„œ ์ •์˜๋œ ๋ฉ”๋ชจ๋ฆฌ ๋งคํ•‘ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. - ์‹œ์Šคํ…œ์ฝœ์„ ํ†ตํ•ด ํŒŒ์ผ์ด๋‚˜ ๋””๋ฐ”์ด์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋งคํ•‘ํ•˜๊ฒŒ ๋œ๋‹ค. - ํ”„๋กœ๊ทธ๋žจ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ๊ณผ, ๋””์Šคํฌ์˜ ํŒŒ์ผ ์˜์—ญ์„ ๋งคํ•‘ํ•œ๋‹ค. โœ… ์žฅ์  - ํ”„๋กœ๊ทธ๋žจ์€ ํŒŒ์ผ์ด ๋ฉ”๋ชจ๋ฆฌ์— load๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์ผ๋ฐ˜์ ์ธ memory access ์ž‘์—…์„ ํ†ตํ•ด ํŒŒ์ผ ์•ก์„ธ์Šค๋ฅผ ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํšจ์œจ์ ์ด๋‹ค. - os์—์„œ ํŒŒ์ผ ๊ด€๋ จ๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋œ๋‹ค. - ์œ ์—ฐํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•˜๋‹ค. โœ… mmap() ํ•จ์ˆ˜ ํ”„๋กœํ† ํƒ€์ž…void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset); - addr: ๋งคํ•‘ํ•  ๋ฉ”๋ชจ๋ฆฌ์˜ .. 2023. 5. 8.
[๊ฐ•์˜ ์ •๋ฆฌ] ํ”„๋กœ์„ธ์Šค์™€ ์‹คํ–‰ ์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ Youtube ps : ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ process list ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค ps aux : ํ˜„์žฌ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰์ค‘์ธ ๋ชจ๋“  process list๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. sudo kill [PID] : PID๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ killํ•  ์ˆ˜ ์žˆ๋‹ค. sudo top : ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค ๋ฆฌ์ŠคํŠธ ์ข€ ๋” ๋ณด๊ธฐ ์ข‹๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค sudo htop : ๋” ์‹œ๊ฐ์ ์œผ๋กœ ์ž˜๋“ค์–ด์˜ค๊ฒŒ ๋ณด์—ฌ์ค€๋‹ค. (htop์€ ๋ณ„๋„์˜ ์„ค์น˜๊ฐ€ ํ•„์š”) ์‰˜์—์„œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€ ctrl+Z ๋ˆ„๋ฅด๋ฉด, ์‹คํ–‰์ค‘์ด๋˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์‰˜์— fg (foreground์˜๋ฏธ)๋ผ๊ณ  ์ž…๋ ฅํ•˜๋ฉด, ๋ฐฑ๊ทธ๋ผ์šด๋“œ์— ์žˆ๋˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค์‹œ ํฌ๊ทธ๋ผ์šด๋“œ๋กœ ๋„˜์–ด์˜จ๋‹ค. jobs : ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ณด์—ฌ์คŒ daemon(๋ฐ๋ชฌ)์ด๋ž€? - ๋ฐฑ.. 2023. 5. 6.
[๊ฐ•์˜ ์ •๋ฆฌ] ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ ์ถœ์ฒ˜: ์ƒํ™œ์ฝ”๋”ฉ Youtube ๋ฆฌ๋ˆ…์Šค ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ https://www.thegeekstuff.com/2010/09/linux-file-system-structure/ Linux Directory Structure (File System Structure) Explained with Examples Linux Directory Structure (File System Structure) Explained with Examples by Ramesh Natarajan on September 8, 2010 Have you wondered why certain programs are located under /bin, or /sbin, or /usr/bin, or /usr/sbin? For example, l.. 2023. 5. 5.
728x90