¸®´ª½º ¹®Á¦ ºÐ¼®°ú ÇØ°á
¾Æ¹«µµ °¡¸£ÃÄÁÖÁö ¾Ê¾Ò´ø ¸®´ª½º ½ÇÀü ³ëÇÏ¿ì
ÅÂ±× :
¸®´ª½º
,
µð¹ö±ë
,
¹®Á¦Çذá
,
¿ÀǼҽº
¿ø¼¸í :
Self-Service Linux: Mastering the Art of Problem Determination
Mark Wilding
,
Dan Behman
ÁöÀ½
¹ÚÀçÈ£
,
ÀÌÇØ¿µ
¿Å±è
¿ÀǼҽº ÇÁ·Î±×·¡¹Ö ½Ã¸®Áî
ISBN :
8989975999
28,000
¿ø |
2006³â 9¿ù 28ÀÏ
Æì³¿
ÆäÀÌÆÛ¹é
|
472
ÂÊ |
190*250mm
ssl_sc.zip
vacuum.zip
YES24
±³º¸¹®°í
°ÄÄ
¾Ë¶óµò
ÀÎÅÍÆÄÅ©
¹ÝµðºÏ
Ã¥ ¼Ò°³
Ã¥ ¼Ò°³
ÀúÀÚ/¿ªÀÚ ¼Ò°³
¸ñÂ÷
¼Æò
Á¤¿ÀÇ¥
°ü·Ã »çÁø º¸±â
Åä·Ð¹æ (
)
¸ðµç ¸®´ª½º °ü¸®ÀÚ, °³¹ßÀÚ, Áö¿ø ºÎ¼, °í±Þ »ç¿ëÀÚ¸¦ ±«·ÓÇô¿Ô´ø ºÒ°¡°áÀÇ ¹®Á¦ ÇØ°á ±æÀâÀ̰¡ µåµð¾î Ãâ°£µÇ¾ú´Ù. ¿À·ù, ºñÁ¤»ó Á¾·á, Á¤Áö, ¼º´É ÀúÇÏ, ±â´ëÇÏÁö ¾ÊÀº Çൿ ¾ç½Ä, ±â´ëÇÏÁö ¾ÊÀº °á°ú¸¦ ½Ã½ºÅÛÀûÀ¸·Î ÆÄÇìÄ¡¸ç, strace, gdb, kdb, SysRq, /proc µî ÇÙ½ÉÀûÀÎ ¸®´ª½º ¹®Á¦ ÇØ°á µµ±¸¿¡ Åë´ÞÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù.
[ ÀÌ Ã¥ÀÇ Æ¯Â¡ ]
µåµð¾î
¸ðµç °í±Þ »ç¿ëÀÚ, °ü¸®ÀÚ, °³¹ßÀÚ¸¦ À§ÇÑ ±¸Á¶ÀûÀÌ¸ç ½ÇÁúÀûÀÎ ¸®´ª½º ¹®Á¦ ÇØ°á»ç
°¡ µîÀåÇß´Ù. IBMÀÇ ¼±µµ ¸®´ª½º Àü¹®°¡ µÎ ¸íÀº ÀÌ Ã¥¿¡¼ ¿À·ù, ºñÁ¤»ó Á¾·á, Á¤Áö, ¼º´É ÀúÇÏ, ±â´ëÇÏÁö ¾ÊÀº Çൿ ¾ç½Ä, ±â´ëÇÏÁö ¾ÊÀº °á°ú¿Í °°Àº ¸ðµç À¯ÇüÀÇ ¸®´ª½º °ü·Ã ½Ã½ºÅÛÀ̳ª ÀÀ¿ëÇÁ·Î±×·¥ ¹®Á¦¸¦ ã¾Æ¼ ÇØ°áÇϱâ À§ÇÑ ³× ´Ü°è ¹æ¹ý·ÐÀ» ¼Ò°³ÇÑ´Ù. ¸®´ª½ºÀÇ ÇÙ½É ¹®Á¦ÇØ°á µµ±¸¸¦ »ç¿ëÇØ¼ Á¤È®ÇÏ°Ô ¹®Á¦¸¦ ¼Õ¼ö ÇØ°áÇÏ¸ç ¸®´ª½º °øµ¿Ã¼¿¡ ÆÛÁ®ÀÖ´Â Áö½ÄÀ» È¿°úÀûÀ¸·Î Ȱ¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿öº¸ÀÚ.
¸®´ª½º¸¦ ¾÷¹«¿¡¼ Ȱ¿ëÇÏ´Â »ç¶÷À̶ó¸é, ÀÌ Ã¥Àº È¿À²¼º, »ý»ê¼º, ½ÃÀ强À» ³î¶ö ¸¸Å ³ô¿©ÁÙ ¼ö ÀÖ´Ù. ȸ»ç¿¡¼ ¸®´ª½º¸¦ ¹èÆ÷Çϰųª °ü¸®ÇÏ´Â ¾÷¹«¸¦ ¸Ã°í ÀÖ´Ù¸é, ÀÌ Ã¥Àº ¿î¿µ ºñ¿ëÀ» Àý°¨Çϰí, Áß´Ü ½Ã°£À» ÁÙÀ̰í, ROI¸¦ ³ôÀÌ´Â °úÁ¤¿¡¼ µµ¿òÀ» ÁØ´Ù.
¢Æ ¸®´ª½º ȯ°æ¿¡¼ ¹®Á¦¸¦ ÆÄ¾ÇÇÏ´Â Áõ¸íµÈ ¿ì¼ö ±â¹ýÀ» ã´Â´Ù
¢Æ ´Ù¸¥ Ç÷§Æû¿¡¼ ½ÀµæÇÑ ¹®Á¦ ÇØ°á Áö½ÄÀ» Áö·¿´ë·Î »ï´Â´Ù
¢Æ ¸®´ª½º ¹®Á¦ ÇØ°á µµ±¸ Áß¿¡¼ °¡Àå ³Î¸® »ç¿ëÇÏ´Â strace·Î ¹®Á¦¸¦ ã´Â ¹æ¹ýÀ» ¹è¿î´Ù
¢Æ /procÀ» Ȱ¿ëÇØ¼ Çϵå¿þ¾î, Ä¿³Î, ÇÁ·Î¼¼½º¿¡ ¾ôÈù Áß¿äÇÑ Á¤º¸¸¦ ã¾Æ³½´Ù
¢Æ ¿ÀÇ ¼Ò½º ÀÀ¿ë ÇÁ·Î±×·¥¿¡ µð¹ö±× Á¤º¸¸¦ ºÙ¿©¼ »õ·Î ÄÄÆÄÀÏÇÑ´Ù
¢Æ C++¿Í ½º·¹µå ÀÀ¿ë ÇÁ·Î±×·¥À» Æ÷ÇÔÇÏ¿© gdb·Î ÀÀ¿ë ÇÁ·Î±×·¥À» µð¹ö±×ÇÑ´Ù
¢Æ Ä¿³Î ºñÁ¤»ó Á¾·á¿Í Á¤Áö¸¦ Çѹø¿¡ ÇÑ ´Ü°è¾¿ µð¹ö±ëÇÑ´Ù
¢Æ ELF¸¦ ÀÌÇØÇÏ°í ´õ È¿À²ÀûÀÎ µð¹ö±ë °úÁ¤¿¡ ÀÌ Áö½ÄÀ» Ȱ¿ëÇÑ´Ù
¢Æ Áß¿äÇÑ ÀÓ¹«¿¡ ÅõÀÔÇÑ ¸®´ª½º ½Ã½ºÅÛÀ» µð¹ö±ëÇÏ´Â °úÁ¤¿¡¼ ¸î ½Ã°£À̳ª ¸çÄ¥À» Àý¾àÇϵµ·Ï »ó¿ë ȯ°æ¿¡ ¹Ù·Î ÅõÀÔ °¡´ÉÇÑ ÀÚ·á ¼öÁý ½ºÅ©¸³Æ®¸¦ Á¦°øÇÑ´Ù
[ ÀÌ Ã¥ÀÇ ±¸¼º ]
ÀÌ Ã¥Àº ¸®´ª½º ȯ°æ¿¡¼ ¹ß»ýÇÏ´Â ¹®Á¦¸¦ È¿°úÀûÀ̸鼵µ È¿À²ÀûÀ¸·Î Áø´ÜÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. ÀÎÅÍ³Ý »ó¿¡ ÀÖ´Â Á¤º¸¿Í ÀÚ¿øÀ» Ȱ¿ëÇÏ´Â ¹æ¹ý µî ¿ì¼öÇÑ Á¶»ç ±â¹ýÀ» ¼Ò°³Çϰí, ¸®´ª½º°¡ Á¦°øÇÏ´Â °¡Àå Áß¿äÇÑ ¹®Á¦ Áø´Ü ºÐ¼®°ú ÇØ°á µµ±¸ÀÇ »ç¿ë¹ýÀ» »ó¼¼È÷ ´Ù·é´Ù.
1Àå
˼
È¿°úÀûÀÎ ¹®Á¦ Áø´Ü ºÐ¼®°ú ÇØ°á ±â¹ý
À» ´Ù·ç´Â ÁýÁß °ÁÂÀÌ´Ù. ÀÌ ÀåÀ» ÀÍÈ÷°í ³ª¸é Àü¹®°¡Ã³·³ ¹®Á¦¸¦ Áø´ÜÇÒ ¼ö ÀÖ´Ù. ÈçÈ÷ ¹ß»ýÇÏ´Â ¹®Á¦ À¯ÇüÀ» Á¶»çÇÏ´Â ¹æ¹ý°ú ´õºÒ¾î, ÀÎÅÍ³Ý ¾îµð¿¡¼ ¾î¶»°Ô Á¤º¸¸¦ ã¾Æ¾ß ÇÏ´ÂÁö¸¦ ¼³¸íÇÑ´Ù.
2Àå
Àº ¸®´ª½º¿¡¼ ¹®Á¦ Áø´Ü ºÐ¼®°ú ÇØ°á °úÁ¤¿¡ °¡Àå ÈçÈ÷ »ç¿ëÇÏ´Â µµ±¸ÀÎ
strace
¸¦ ´Ù·é´Ù. 2Àå¿¡¼´Â strace°¡ µ¿ÀÛÇÏ´Â ¹æ½ÄÀ» »ó¼¼È÷ ¼Ò°³ÇÒ »Ó¸¸ ¾Æ´Ï¶ó ½Ç¿ëÀûÀÎ »ç¿ë¹ý Á¤º¸µµ ´Ù·é´Ù. ¶ÇÇÑ °£´ÜÇÑ strace µµ±¸ÀÇ ¼Ò½ºÄڵ带 ¼Ò°³Çϸç, ±â¹Ý ±â´ÉÀÎ ptrace ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ Ä¿³Î°ú µ¿ÀÛÇÏ´Â ¹æ½ÄÀ» »ó¼¼È÷ ¼³¸íÇÑ´Ù.
3Àå
Àº ÇöÀç ½Ã½ºÅÛ¿¡¼ ½ÇÇà ÁßÀÎ Çϵå¿þ¾î, Ä¿³Î, ÇÁ·Î¼¼½º¿¡ °ü·ÃÇÏ¿© ¹æ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â
/proc ÆÄÀÏ ½Ã½ºÅÛ
¿¡ °üÇÑ ³»¿ëÀÌ´Ù. ÁÖ·Î ¹®Á¦ Áø´Ü ºÐ¼®°ú ÇØ°áÀ» ºñ·ÔÇÏ¿© ½Ã½ºÅÛ Áø´Ü¿¡ °ü·ÃÇÑ °í±Þ ±â´É°ú ±â±³¸¦ ¼Ò°³ÇÏ°í »ìÆìº»´Ù. ¿¹¸¦ µé¾î, /proc/sys/kernel/sysrq·Î SysRq Ä¿³Î ¸¶¹ý ۸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù.
4Àå
˼
ÄÄÆÄÀÏ
À» ´Ù·é´Ù. µð¹ö±ë Á¤º¸¸¦ Æ÷ÇÔÇϵµ·Ï ¿ÀÇ ¼Ò½º ÀÀ¿ë ÇÁ·Î±×·¥À» ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÒÁö(´ë°³´Â ´Ù½Ã ÄÄÆÄÀÏÇØ¾ß ÇÑ´Ù), ¾î·Á¿î ¹®Á¦ÀÏ °æ¿ì ¾î¼Àºí¸® ÄÚµå ¸ñ·ÏÀ» »ý¼ºÇØ¾ß ÇÒÁö(ÀÌ ¹æ¹ýÀ¸·Î Æ®·¦ÀÌ °É¸° ÄÚµå ÇàÀ» ã´Â´Ù), ¸®´ª½º Ä¿³Î ÀÚü¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÏ´Â °úÁ¤¿¡¼ ¾î¶² ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö µî¿¡ °üÇØ ±ä¿äÇÑ Á¤º¸¸¦ Á¦°øÇÑ´Ù.
5Àå
Àº ÄÄÇ»ÅÍ ½Ã½ºÅÛ¿¡¼ °¡Àå Áß¿äÇÏ°íµµ ±âº»ÀûÀÎ °³³ä Áß ÇϳªÀÎ
½ºÅÃ
À» ¼Ó¼ÓµéÀÌ »ìÆìº»´Ù. (¸®´ª½º Àü¹®°¡¶ó¸é ¹Ýµå½Ã ¾Ë¾Æ¾ß ÇÒ) ½ºÅà ±¸Á¶Ã¼¸¦ »ó¼¼È÷ ¼³¸íÇϸç, ¶ÇÇÑ µ¶ÀÚ°¡ ÀÚ½ÅÀÇ µµ±¸¿Í ÀÀ¿ë ÇÁ·Î±×·¥¿¡¼ ½ºÅà ÃßÀûÀ» »ý¼ºÇϱâ À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¼Ò½º Äڵ带 ¼Ò°³ÇÏ°í ¼³¸íÇÑ´Ù.
6Àå
Àº GNU µð¹ö°ÅÀÎ
GDB
·Î ÀÀ¿ë ÇÁ·Î±×·¥À» µð¹ö±ëÇÏ´Â ¹æ¹ýÀ» »ó¼¼ÇÏ°íµµ ½Éµµ ÀÖ°Ô »ìÆìº»´Ù. ¶ÇÇÑ ±×·¡ÇÈ À¯Àú ÀÎÅÍÆäÀ̽ºÀÎ DDD(Data Display Debugger)µµ °£·«ÇÏ°Ô ¼Ò°³ÇÑ´Ù. ¶ÇÇÑ C++ ÀÀ¿ë ÇÁ·Î±×·¥ µð¹ö±ë, ½º·¹µå ÀÀ¿ë ÇÁ·Î±×·¥ µð¹ö±ë, ´Ù¾çÇÑ ÃÖ°í µð¹ö±ë ±â¹ý µî ÈçÈ÷ Á¢Çϱ⠾î·Á¿î Á¤º¸¸¦ »ó¼¼È÷ ´Ù·é´Ù.
7Àå
˼
½Ã½ºÅÛ Ãæµ¹°ú Áß´Ü
À» »ó¼¼È÷ »ìÆìº»´Ù. ¡®Á÷·Ä ÄܼÖÀ» ¿¬°áÇÏ´Â ¹æ¹ý¡¯ºÎÅÍ ¡®Ä¿³Î Æ®·¦(¡°¿ó½º Oops¡±)À» »ç¿ëÇÏ¿© ÄÚµå ÇàÀ» ã´Â ¹æ¹ý¡¯±îÁö ÇÊ¿äÇÑ ³»¿ëÀ» ´Ù·é´Ù.
8Àå
˼
Ä¿³Î µð¹ö±ë
, Áï Ä¿³Î µð¹ö°Å kdb¸¦ »ç¿ëÇÑ µð¹ö±ëÀ» Á»´õ »ó¼¼È÷ ´Ù·é´Ù. ½Ã½ºÅÛ¿¡¼ kdb¸¦ ȯ°æ ¼³Á¤Çϰí Ȱ¼ºÈÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇϸç, Ä¿³Î Àü¹®°¡°¡ µÇÁö ¾Ê°íµµ ´ë´Ù¼ö ¸®´ª½º »ç¿ëÀÚ°¡ Ȱ¿ëÇÒ ¼ö ÀÖ´Â ½Ç¿ëÀûÀÎ ¸í·ÉÀ» ¼Ò°³ÇÑ´Ù.
9Àå
˼
ELF(Executable and Linking Format)
¸¦ »ó¼¼ÇÏ°Ô ÆÄÇìÄ£´Ù. ±âº»ÀûÀÎ ELF ÆÄÀÏ Çü½Ä¿¡ °üÇØ ÀÚ¼¼ÇÏ°íµµ ½Ç¿ëÀûÀÎ Á¤º¸¸¦ Á¦°øÇϸç, ±Ø¼Ò¼ö °³¹ßÀÚ¸¸ÀÌ ¾Ë°í ÀÖ´Â ºñ°á°ú ±â±³¸¦ ¼Ò°³ÇÑ´Ù. ½ÉÁö¾î LD_PRELOAD(À¸)·Î ÇÔ¼ö¸¦ ÀçÁ¤ÀÇÇÏ´Â ¹ý, GOT(global offset table)¿Í GDB µð¹ö°Å·Î ÇÔ¼ö¸¦ Á÷Á¢ °¡·Îä¼ µð¹ö±× ¹öÀüÀ¸·Î º¸³»´Â ¹ý µîÀ» ¿¹Á¦ ÄÚµå¿Í ´õºÒ¾î ´Ü°èº°·Î ¼³¸íÇÑ´Ù.
ºÎ·Ï A
´Â ¸®´ª½º¿¡¼ °¡Àå À¯¿ëÇÑ µµ±¸, ±â´É, ÆÄÀÏÀ» °³°ýÀûÀ¸·Î ¼Ò°³ÇÏ´Â
µð¹ö±ë µµ±¸ »óÀÚ
ÀÌ´Ù. °¢ µµ±¸¸¶´Ù ¾ðÁ¦ »ç¿ëÇϸé ÁÁÀºÁö ±×¸®°í ¾îµð¼ ÃֽйöÀüÀ» ¾òÀ» ¼ö ÀÖ´ÂÁö¸¦ ¼³¸íÇϰí ÀÖ´Ù.
ºÎ·Ï B
´Â °ð¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Â
ÀÚ·á ¼öÁý ½ºÅ©¸³Æ®
¸¦ Á¦°øÇÑ´Ù. ÁÖ¿ä ÇÙ½É ¾÷¹«¸¦ ´Ù·ç´Â ½Ã½ºÅÛÀ̳ª ¸®´ª½º »ó¿¡¼ ¿ø°ÝÀ¸·Î °í°´À» Áö¿øÇÏ´Â »ç¿ëÀÚ¿¡°Ô ƯÈ÷ À¯¿ëÇÏ´Ù. ÀÚ·á ¼öÁý ½ºÅ©¸³Æ®¸¸ À־, ¿ø°Ý¿¡¼ ¹ß»ýÇÑ ¹®Á¦¸¦ µð¹ö±ëÇÏ´Â µ¥ µå´Â ½Ã°£À» Å©°Ô ÁÙÀÏ ¼ö ÀÖ´Ù.
[ ÀÌ Ã¥ÀÇ ´ë»ó ]
ÀÌ Ã¥Àº ¸ðµç ¸®´ª½º »ç¿ëÀÚ¿¡°Ô À¯¿ëÇÑ Á¤º¸¸¦ Á¦°øÇÏÁö¸¸, ƯÈ÷ ¸®´ª½º Àü¹®°¡¸¦ ¿°µÎ¿¡ µÎ°í ÀÖ´Ù. ¿©±â¿¡´Â
¸®´ª½º °í±Þ »ç¿ëÀÚ, ¸®´ª½º °ü¸®ÀÚ, ¸®´ª½º¿ë ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ, ¸®´ª½º Á¦Ç° Áö¿ø ÀηÂ
µîÀÌ Æ÷ÇԵȴÙ. °¡Á¤¿¡¼ Àç¹Ì»ï¾Æ ¸®´ª½º¸¦ »ç¿ëÇÏ´Â µ¶ÀÚ¿¡°Ôµµ µµ¿òÀÌ µÈ´Ù. ¹°·Ð ¸®´ª½º¿¡ ´ëÇÑ ±âº»ÀûÀÎ ÀÌÇØ°¡ Àְųª Àû¾îµµ ¹è¿ì·Á´Â ÀÇÁö°¡ ÀÖ¾î¾ß ÇÑ´Ù. ¿©±â¼ ÈÄÀÚ°¡ ´õ Áß¿äÇÏ´Ù.
[ ÀúÀÚ ¼¹® ]
¸®´ª½º´Â ÀÏ¹Ý °¡Á¤°ú »ç¹«½Ç¿¡¼ »ç¿ëÇϱ⿡ ÃÖÀûÀÎ ¿î¿µÃ¼Á¦ÀÌ´Ù. °·ÂÇϸç, ¿©´À »ó¿ë ¿î¿µÃ¼Á¦ ¸øÁö ¾Ê°Ô ¾ÈÁ¤ÀûÀ̰í, º¸¾ÈÀÌ ¶Ù¾î³ª¸ç, ¹«¾ùº¸´Ùµµ ¿ÀÇ ¼Ò½ºÀÌ´Ù. ÇÏÁö¸¸ °¡Á¤À̳ª »ç¹«½Ç¿¡¼ ¸®´ª½º¸¦ »ç¿ëÇÒÁö ¸»Áö¸¦ °áÁ¤ÇÏ´Â °¡Àå Å« ¿äÀÎ Áß Çϳª´Â ¼ºñ½º¿Í Áö¿øÀÌ´Ù. ¸®´ª½º´Â ¼¼°è µµÃ³¿¡ ÀÖ´Â ÀÚ¿ø ºÀ»çÀÚ ¼öõ ¸íÀÌ °³¹ßÇϱ⠶§¹®¿¡ ¹®Á¦ ¹ß»ý ½Ã ´©±¸¿¡°Ô µµ¿òÀ» Ã»ÇØ¾ß ÇÒÁö°¡ ºÐ¸íÇÏÁö ¾Ê´Ù.
ÁøÁ¤ÇÑ ¸®´ª½º Á¤½Å¿¡ ÀǰÅÇÏ¿©, ¸®´ª½º´Â »ó¿ë ¿î¿µÃ¼Á¦¿Í´Â ´Ù¼Ò »óÀÌÇÑ Áö¿ø ¹æ½ÄÀ» äÅÃÇϰí ÀÖ´Ù. Àü´ë ¹Ì¹®ÀÇ Àü¹®°¡ Ä¿¹Â´ÏƼ°¡ Á¸ÀçÇϸç, ÃÖ÷´Ü ¹®Á¦ Áø´Ü ºÐ¼®°ú ÇØ°á µµ±¸¸¦ Á¦°øÇÒ »Ó¸¸ ¾Æ´Ï¶ó, ´ç¿¬È÷ Á¦Ç° ÀÚü¿¡µµ ¼Ò½º Äڵ尡 µé¾î ÀÖ´Ù. ÀÌ·¯ÇÑ ÀÚ¿ø ¿Ü¿¡µµ IBM°ú °°Àº ȸ»ç¿¡¼ ³»³õÀº Àü¹® ¸®´ª½º Áö¿ø ¼ºñ½º¿Í ·¹µåÇÞÀ̳ª ³ëº§/¼ö¼¼¿Í °°Àº ¸®´ª½º ÆÇ¸Å¾÷ü°¡ ¿©·µ Á¸ÀçÇÑ´Ù. ÇÏÁö¸¸ Àü¹® ¼ºñ½º³ª ÆÇ¸Å¾÷ü¸¦ °ÅÄ¡Áö ¾Ê°í ¸®´ª½º¿¡¼ Á¦°øÇÏ´Â ÀÚ¿øÀ» ÃÖ´ëÇÑ ¡°½º½º·Î Ȱ¿ëÇϴ¡± ¹æ¹ýÀ» ÀÌ Ã¥¿¡¼ ÁÖ¿ä ÁÖÁ¦·Î ´Ù·é´Ù.
¸®´ª½º¸¦ ¡°½º½º·Î Ȱ¿ëÇÑ´Ù¡±¶ó´Â Àǹ̴ »ç¶÷¸¶´Ù ´Ù¸£´Ù. °¡Á¤¿¡¼ ¸®´ª½º¸¦ »ç¿ëÇÏ´Â »ç¶÷¿¡°Ô´Â ¸®´ª½º »ç¿ëÀÌ ÇÑÃþ Áñ°Å¿öÁø´Ù´Â ¶æÀÌ´Ù. »ç¹«½Ç¿¡¼ ¸®´ª½º¸¦ »ç¿ëÇÏ´Â »ç¶÷¿¡°Ô´Â ¸®´ª½º °ü·Ã ¹®Á¦¸¦ ½Å¼ÓÇϰí È¿°úÀûÀ¸·Î Áø´ÜÇÔÀ¸·Î½á Á¶Á÷ ³» ÀÚ½ÅÀÇ °¡Ä¡¿Í ½ÃÀ强À» ³ôÀÏ ¼ö ÀÖ´Ù´Â ¶æÀÌ´Ù. ±â¾÷ Àü·«ÀÇ ÀϺηΠ¸®´ª½º¸¦ äÅÃÇØ¾ß ÇÒÁö¸¦ °í¹ÎÇÏ´Â ±â¾÷¿¡°Ô´Â ¸®´ª½º äÅà Àü·«¿¡ µû¸¥ ¿î¿µ °æºñ °¨¼Ò¿Í ÅõÀÚ ¼öÀÍ(ROI, Return of Investment) Áõ°¡¸¦ ¶æÇÑ´Ù. ¾î´À À¯Çü¿¡ ¼ÓÇÏ´Â »ç¿ëÀÚÀ̵ç, ¸®´ª½º »ç¿ë °æÇè°ú ÅõÀڷκÎÅÍ ÃÖ´ëÇÑ ¸¹Àº ÀÌÀÍÀ» ¾ò¾î³»¾ß ÇÑ´Ù´Â Á¡ÀÌ Áß¿äÇÏ´Ù.
[ ÀúÀÚ ¼Ò°³ ]
¸¶Å© Àªµù
¸¶Å© ÀªµùÀº ÇöÀç À¯´Ð½º¿Í ¸®´ª½º ÆíÀǼº ±â¼úÀ» Àü¹®ÀûÀ¸·Î ¿¬±¸ÇÏ´Â ¼±ÀÓ °³¹ßÀÚ·Î IBM¿¡¼ ±Ù¹«Çϰí ÀÖ´Ù. 15³â ÀÌ»ó ¼ÒÇÁÆ®¿þ¾î °³¹ß °æÇèÀ» Åä´ë·Î, ¿î¿µÃ¼Á¦, ³×Æ®¿öÅ©, C/C++ °³¹ß, ÆíÀǼº, ǰÁú °øÇÐ, ÄÄÇ»ÅÍ Çϵå¿þ¾î ºÎ¹®¿¡¼ ´Ù¾çÇÑ °æÇèÀ» ½×¾Æ¿Ô´Ù.
´í ¹ö¸¸
´í ¹ö¸¸Àº Åä·ÐÅä IBM ¼ÒÇÁÆ®¿þ¾î ¿¬±¸½Ç¿¡¼ ¸®´ª½º Ç÷§Æû °³¹ßÀ» À§ÇÑ DB2 UDB °³¹ßÆÀ ÀÏ¿øÀ¸·Î ±Ù¹«Çϰí ÀÖ´Ù. ¸®´ª½º 10³â ÀÌ»ó °æ·ÂÀ» ÀÚ¶ûÇϸç, x86-64, z½Ã¸®Áî, ÆÄ¿ö Ç÷§ÆûÀ» Æ÷ÇÔÇÑ ¸®´ª½º°¡ Áö¿øÇÏ´Â ÃֽоÆÅ°ÅØÃ³¿¡ DB2 UDB¸¦ À̽ÄÇÏ°í µ¿ÀÛÇÏ´Â ÀÛ¾÷¿¡ Âü¿©Çß´Ù.
[ ¿ªÀÚ ¼¹® ]
Àü¹®ÀûÀÎ °³¹ßÀÚ¶ó¸é À̱¸µ¿¼ºÀ¸·Î Äڵ带 ¾²´Â ÀÛ¾÷º¸´Ù Àд ÀÛ¾÷¿¡ ´õ ¸¹Àº ½Ã°£À» ÅõÀÔÇÑ´Ù°í À̾߱âÇÑ´Ù. ´Ù½Ã ¸»Çؼ, ÄÚµå ÀÛ¼ºº¸´Ù ÀÛ¼º ÈÄ °³¼±/°ËÅä/µð¹ö±ë¿¡ ÈξÀ ¸¹Àº ³ë·ÂÀÌ µé¾î°¡¸ç ÀÌ·± °úÁ¤Àº Ãë¹Ì »ýȰÀ̳ª Çб³ °úÁ¦·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏÁö ¾Ê´Â ÀÌ»ó »ó¿ë Á¦Ç°À» ¸¸µå´Â °úÁ¤¿¡¼ Çʼö¶ó°í º¸¿©Áø´Ù. ÇÏÁö¸¸ À¯°¨½º·´°Ôµµ ´ëÇб³³ª ÄÄÇ»ÅÍ Çпø¿¡¼ µð¹ö±ëÀ» Àü¹®ÀûÀ¸·Î °¡¸£Ä£´Ù´Â ¸»Àº Çѹøµµ µé¾îº¸Áö ¸øÇß´Ù. °¡Àå ½Ã°£À» ¸¹ÀÌ ½ñ´Â ºÐ¾ß¿¡ ´ëÇÑ Ã¼°èÀûÀÎ Áö½Ä ½Àµæ °æ·Î°¡ ¾ø´Ù´Â »ç½ÇÀº »ç¹µ Ãæ°ÝÀûÀ̱â±îÁö ÇÏ´Ù.
°ú°Å À¯´Ð½º ½ÃÀý¿¡´Â ¸ðµç ½Ã½ºÅÛ ÇÁ·Î±×·¡¸Ó°¡ ¹Ù·Î ½Ã½ºÅÛ °ü¸®ÀÚ¿´°í ½Ã½ºÅÛ °ü¸®ÀÚ°¡ ¹Ù·Î ½Ã½ºÅÛ ÇÁ·Î±×·¡¸Ó¿´´Âµ¥, ¿äÁò µé¾î¿Í¼ ¸íÈ®ÇÑ ¼±ÀÌ ±×¾îÁö¸é¼ °¥¼ö·Ï ½Ã½ºÅÛ °ü¸®ÀÚ¿Í ÇÁ·Î±×·¡¸Ó ¾÷¹«°¡ ºÐ¸®µÇ¸é¼, Á»´õ Àü¹®ÀûÀ¸·Î ÀÚ½ÅÀÌ ¸ÃÀº ÀÛ¾÷À» ÁøÇàÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Â ¹Ý¸é¿¡ ÇÐÁ¦°£ ¿¬±¸¸¦ ÅëÇÑ ÅëÇÕÀûÀÎ ¹®Á¦ ºÐ¼®ÀÌ ¾î·Æ´Ù´Â ´ÜÁ¡ÀÌ ³ªÅ¸³ª°í ÀÖ´Ù. ½Ã½ºÅÛ °ü¸®ÀÚ´Â °ú¿¬ ½ºÅ©¸³Æ® ¾ð¾î¸¦ ¹þ¾î³ º»°ÝÀûÀÎ ÇÁ·Î±×·¥ ºÐ¼® ½Ç·ÂÀÌ ÇÊ¿ä ¾øÀ»±î? ÇÁ·Î±×·¡¸Ó´Â ±âÃÊÀûÀÎ ¸í·É¾î »ç¿ë¹ý À̿ܿ¡ ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÀüÀ¯¹°À̶ó°í ¿©±â´ø ÇÁ·Î¼¼½º³ª ¸ñÀû ÆÄÀÏ¿¡ ´ëÇÑ Á¤º¸ È®ÀÎ ¸í·É¿¡ ¼û°ÜÁø Àǹ̸¦ ÆÄ¾ÇÇÒ Çʿ䰡 ¾øÀ»±î?
ÀÌ·¸°Ô ¸ð¼øÀûÀÌ°í ¾î·Á¿î Çö½Ç¿¡ Á÷¸éÇÑ °³¹ßÀڵ鿡°Ô µµ¿òÀ» ÁÖ±â À§ÇØ ¿ÃÇØ ÃÊ¿¡ ¿¡ÀÌÄÜ ÃâÆÇ»ç¸¦ ÅëÇØ ¡º¸®´ª½º µð¹ö±ë°ú ¼º´É Æ©´×¡»À̶ó´Â Á¦¸ñÀ» ºÙÀÎ ¹ø¿ª¼¸¦ Ãâ°£Çß¾ú´Ù. ¡º¸®´ª½º µð¹ö±ë°ú ¼º´É Æ©´×¡»Àº ÇöÀå¿¡¼ ¹Ù·Î ½á¸ÔÀ» ¼ö ÀÖµµ·Ï ¸®´ª½º¿¡¼ Á¦°øÇÏ´Â ´Ù¾çÇÑ µµ±¸ »ç¿ë¹ý°ú Ȱ¿ë ¹æ¾ÈÀ» ¿¹¸¦ ÅëÇØ ¼³¸íÇϰí ÀÖ´Ù. ÇÏÁö¸¸ ¡º¸®´ª½º µð¹ö±ë°ú ¼º´É Æ©´×¡»Àº ¹æ´ëÇÑ µµ±¸¸¦ ÇÑÁ¤µÈ Áö¸é¿¡ ´Ù·ç°í Àֱ⿡ ¾Æ¹«·¡µµ Æø¿¡ ºñÇØ ±íÀ̰¡ ¾è´Ù´Â ¹®Á¦Á¡ÀÌ ÀÖ¾úÀ¸¸ç, ÀÌ·± ´ÜÁ¡À» º¸¿ÏÇÒ¸¸ÇÑ ´Ù¸¥ Ã¥¿¡ ´ëÇÑ ¿ä±¸°¡ Ä¿Áö°í ÀÖ´Ù.
ÀÌ¿Í °°Àº »óȲ¿¡¼ ¸¶Ä§ ÇÁ·»Æ¼½º Ȧ¿¡¼ Ãâ°£ÇÑ ¡ºSelf-Service Linux¡»¸¦ Á¢ÇÏ°Ô µÇ¾ú°í, Ã¥ ³»¿ëÀ» °ËÅäÇÑ °á°ú ¡º¸®´ª½º µð¹ö±ë°ú ¼º´É Æ©´×¡»°ú ºñ±³Çؼ ´Ù·ç´Â µµ±¸ÀÇ ÆøÀº Á¼Áö¸¸ ¾Æ¹«µµ °¡¸£ÃÄÁÖÁö ¾Ê¾Ò´ø ºñ¹Ð½º·¯¿î Ȱ¿ë ¹æ¾ÈÀ» ÃæºÐÇÑ ±íÀÌ·Î ´Ù·ç°í ÀÖ´Ù´Â °á·ÐÀ» ³»·Á¼ ¹ø¿ª ÀÛ¾÷À» ¼µÎ¸£°Ô µÇ¾ú´Ù.
ÀÌ Ã¥Àº ´Ü¼øÇÑ ¿É¼Ç ³ª¿À̳ª ÇÇ»óÀûÀÎ ¸í·É¾î »ç¿ë¹ýÀ» ´Ù·ç´Â Ã¥ÀÌ ¾Æ´Ï´Ù. ¸¶Ä¡ °í±Þ ½Ã½ºÅÛ °ü¸®ÀÚ¸¦ À§ÇÑ ¹®Á¦ ÇØ°á ¼ÀûÀ̶ó°í Âø°¢Çϱ⠽±Áö¸¸, ½ÇÁ¦·Î
¸®´ª½º Àü¹® °³¹ßÀÚµéÀÌ ¹Ýµå½Ã ¾Ë°í ³Ñ¾î°¡¾ß ÇÏ´Â ÇÙ½ÉÀûÀÎ Áö½ÄÀ» ´ã°í ÀÖ´Â ¾ËÂ¥ ¼Àû
ÀÌ´Ù.
Çϳª°°ÀÌ À¯ÀÍÇÑ ³»¿ëµéÀÌÁö¸¸, ƯÈ÷ 1Àå, 5Àå, 6Àå, 9ÀåÀ» ´«¿©°Üº¸±â ¹Ù¶õ´Ù. ´Ù¸¥ Ã¥¿¡¼ ½±°Ô Á¢ÇÏÁö ¸øÇÏ´Â Àü¹ÝÀûÀÎ ¹®Á¦ ÇØ°á Àü·«À» 1Àå¿¡¼ ´Ù·ç°í ÀÖÀ¸¸ç, ½ºÅÿ¡ ´ëÇÑ ¸íÄèÇÑ ¼³¸íÀÌ 5Àå¿¡¼ Àü°³µÈ´Ù. ½ÉÁö¾î ¿ø½Ã Äڵ尡 ¾øÀ» °æ¿ì¿¡µµ ¹®Á¦ ¿øÀÎÀ» gdb·Î ÃßÀûÇÏ´Â ¹æ¹ýÀ» 6Àå¿¡¼ ½ÇÁ¦ ¿¹¸¦ µé°í ÀÖÀ¸¸ç, ¸¶Áö¸·À¸·Î Áß¿äÇÑ Á¤º¸¸¦ ´ã°í ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í °³¹ßÀÚ »çÀÌ¿¡¼ ¿Ü¸é ¹Þ°í ÀÖ´Â ELF¿¡ ´ëÇÑ ¼³¸íÀÌ 9Àå¿¡ ³ª¿Â´Ù. Ä¿³Î ´ÜÀ¸·Î ³»·Á°¡Áö ¾Ê°í¼µµ ¸®´ª½º ³»ºÎ ±¸Á¶¸¦ ÀÌ·¸°Ô ¸íÄèÇÏ°Ô ±×¸± ¼ö ÀÖ´Ù´Â »ç½ÇÀÌ ³î¶ó¿ï µû¸§ÀÌ´Ù.
- ¹ÚÀçÈ£
ÀÌ Ã¥¿¡¼ °¡Àå °¨µ¿ÀûÀ̰í ÇÙ½ÉÀûÀÎ ÀåÀ» ²ÅÀ¸¶ó¸é 1Àå ¡°¿ì¼ö ¹®Á¦ ÇØ°á ±â¹ý°ú ÃÊ¹Ý Á¶»ç¡±ÀÌ´Ù. ¸®´ª½º ȯ°æ¿¡¼ °³¹ßÇÏ´Â »ç¶÷À̶ó¸é, ¹Ýµå½Ã Àоî¾ß ÇÒ ÀåÀÌ´Ù. 1Àå ³»¿ë¸¸ ÃæºÐÈ÷ ¼÷ÁöÇÏ¿© ¸Ó¸®¿Í °¡½¿¿¡ ³Ö¾îµµ, ÀÌ Ã¥ °ª¾îÄ¡ Áß¿¡¼ 80%´Â ¾ò¾î³Â´Ù°í »ý°¢ÇÑ´Ù.
ÈçÈ÷ ¡°½Ç·Â ÀÖ´Â »ç¶÷¡±°ú ¡°»ç½ÇÀ» ¸¹ÀÌ ½ÀµæÇÑ »ç¶÷¡±À» È¥µ¿ÇÑ´Ù. ƯÈ÷³ª °³¹ß ºÐ¾ß¿¡¼´Â ´õ¿í ±×·¸´Ù. API¸¦ ÁÄÁÄ ¿Ü¿ì°í ¸í·É ¿É¼ÇÀ» ÂÓ ²ç°í ÀÖ´Â »ç¶÷À» ½Ç·ÂÀÌ ÀÖ´Ù°í ¿©±ä´Ù. ÇÏÁö¸¸ ½ÀµæÇÑ »ç½Ç¸¸À¸·Î ÇØ°áÇÒ ¼ö ÀÖ´Â ¹®Á¦¿¡´Â ÇѰ谡 ÀÖ´Ù. ¹®Á¦¸¦ ÇØ°áÇÏ´Â ´É·Â, Áï ½Ç·ÂÀº ´Ü¼øÇÑ Áö½Ä ÀÌ»óÀÌ ÇÊ¿äÇÏ´Ù. (Âü°í·Î, ¹Ýµå½Ã ÀÚ½ÅÀÇ ÈûÀ¸·Î ¹®Á¦¸¦ ÇØ°áÇØ¾ß ÇÑ´Ù´Â ¶æÀº ¾Æ´Ï´Ù. ¿Ã¹Ù¸¥ »ç¶÷À» ã¾Æ¼ ¿øÇÏ´Â ´äÀ» ¾ò¾î³»´Â ±â¼úµµ ´É·ÂÀÌ°í ½Ç·ÂÀÌ´Ù.)
Á¦¸ñ ±×´ë·Î, ÀÌ Ã¥Àº ¸®´ª½º ½Ã½ºÅÛÀ» ½º½º·Î ¿î¿µÇÏ´Â ¹æ¹ý, Áï ¸®´ª½º ½Ã½ºÅÛÀ̶ó´Â ¿µ¿ª¿¡¼ ¹®Á¦¸¦ ÇØ°áÇÏ´Â ´É·ÂÀ» Ű¿ì´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. strace(2Àå)¿¡¼ GDB(6Àå)À» ¤°í, ELF(9Àå)¿¡ À̸£±â±îÁö, ÀÌ Ã¥¿¡¼ ´Ù·ç´Â Áö½ÄÀº ¹æ´ëÇÏ´Ù. ÀÚÄ©Çϸé, ¿©±â¿¡ ¹¯Çô Áß¿äÇÑ Áٱ⸦ ³õÄ¥ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¸é, ÀÌ Ã¥Àº GDB ÃÖÀûÈ ¿É¼Çµµ ¼³¸íÇÏÁö¸¸, µ¿½Ã¿¡ ¾î¶² ¹®Á¦¿Í ¾î¶² »óȲ¿¡¼ GDB¸¦ »ç¿ëÇÏ´ÂÁöµµ ¼³¸íÇÑ´Ù. ¸®´ª½º »ó¿¡¼ ¹®Á¦¸¦ µð¹ö±ëÇÏ·Á´Â °³¹ßÀÚ¶ó¸é, ¾î¶² µµ±¸°¡ ¾î¶² »óȲ¿¡ ÀûÇÕÇÑÁö ÀÌÇØÇØ¾ß ÇÑ´Ù. ÇÏÁö¸¸ ÃÖÀûÈ ¿É¼ÇÀ» ÀϺη¯ ÇϳªÇϳª ¾Ï±âÇÒ ÇÊ¿ä´Â ¾ø´Ù°í »ý°¢ÇÑ´Ù. ÃÖÀûÈ ¿É¼ÇÀÌ ¹«¾ùÀÎÁö ±×¸®°í ¾î¶² ¹®Á¦¸¦ ÀÏÀ¸Å³ ¼ö ÀÖ´ÂÁö¸¸ ÀÌÇØÇÑ´Ù¸é, °¢ ¿É¼Ç¸¶´Ù ³»ÀçµÈ ÀÖ´Â Á¤È®ÇÑ Àǹ̴ ÇÊ¿äÇÒ ¶§ ã¾Æº¸¸é µÈ´Ù.
µµ¼°ü¿¡ Àִ å ³»¿ëÀ» ¸ù¶¥ ¾Ï±âÇÏ´Â ´É·Âº¸´Ù´Â ¿øÇϴ å°ú Á¤º¸¸¦ ºü¸£°í ½Å¼ÓÇϰí Á¤È®ÇÏ°Ô Ã£¾Æ³¾ ¼ö ÀÖ´Â ´É·ÂÀÌ ´õ À¯¿ëÇÏ´Ù. Ã¥À» ÀÐÀ¸¸é¼ ÀÌ·± Á¡À» ¿°µÎ¿¡ µÎ¾úÀ¸¸é ÇÑ´Ù. ±×¸®°í °¡´ÉÇÏ´Ù¸é ¼¹®°ú 1Àå¿¡ ÃæºÐÇÑ ½Ã°£À» ÇÒ¾ÖÇϱ⠹ٶõ´Ù. Á» µüµüÇÏ´Ù ½ÍÀ» ³»¿ëÀÌÁö¸¸, ÀǿܷΠÀç¹ÌÀÖ°í Ȱ±âÂ÷´Ù. ÀÌ¿ÕÀÌ¸é µ¶ÀÚ ¿©·¯ºÐÀÌ Áñ°Ì°Ô ÀоúÀ¸¸é ÁÁ°Ú´Ù.
- ÀÌÇØ¿µ
[ ¿ªÀÚ ¼Ò°³ ]
¹ÚÀçÈ£
Æ÷Ç×°ø°ú´ëÇб³ ÄÄÇ»ÅͰøÇаú ÇÐºÎ¿Í Æ÷Ç×°ø°ú´ëÇб³ ÄÄÇ»ÅͰøÇаú ´ëÇпøÀ» Á¹¾÷Çß´Ù. ȸ»ç¿¡¼ ÀÓº£µðµå ¸®´ª½º °ü·Ã µð¹ÙÀ̽º µå¶óÀ̹ö¿Í Ä¿³Î ÇÁ·Î±×·¡¹ÖÀ» ¸Ã°í ÀÖ´Ù. Á¾Á¾ ÄÄÇ»ÅÍ¿Í Ã¥¿¡ ´ëÇÑ Àç¹ÌÀÖ´Â ±ÛÀ» ºí·Î±×(
http://jhrogue.blogspot.com
)¿¡ ¿Ã¸®°í ÀÖ´Ù. ÁöÀº Ã¥À¸·Î ¡°IT EXPERT, ÀÓº£µðµå ¸®´ª½º¡±(ÇѺû¹Ìµð¾î), ¿Å±ä Ã¥À¸·Î ¡°Á¶¿¤ ¿Â ¼ÒÇÁÆ®¿þ¾î¡±(¿¡ÀÌÄÜ), ¡°¸®´ª½º µð¹ö±ë°ú ¼º´É Æ©´×¡±(¿¡ÀÌÄÜ) µîÀÌ ÀÖ´Ù.
ÀÌÇØ¿µ
Æ÷Ç×°ø°ú´ëÇб³ ÄÄÇ»ÅͰøÇаú ÇÐºÎ¿Í ÆÛµà´ëÇб³ ÀüÀÚ°è»êÇаú ´ëÇпøÀ» Á¹¾÷Çß´Ù. ¿À·§µ¿¾È ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ Á¾»çÇÏ´Ù°¡, 2006³â ÇöÀç ¹Ì±¹¿¡ ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î °³¹ß ȸ»ç¿¡¼ Áö¿ªÈ Àü¹®°¡·Î ÀÏÇϰí ÀÖ´Ù. ¿Å±ä Ã¥À¸·Î ¡°Á¶¿¤ ¿Â ¼ÒÇÁÆ®¿þ¾î¡±(¿¡ÀÌÄÜ), ¡°¸®´ª½º µð¹ö±ë°ú ¼º´É Æ©´×¡±(¿¡ÀÌÄÜ) µîÀÌ ÀÖ´Ù.
1Àå ¹®Á¦ ÇØ°á ¿ì¼ö ±â¹ý°ú ÃÊ¹Ý Á¶»ç
1.1 ½ÃÀÛ
1.2 È¿°úÀûÀ¸·Î ¹®Á¦¸¦ ºÐ¼®Çϱâ À§ÇÑ ½Ã½ºÅÛ Áغñ
1.3 ³× ´Ü°è Á¶»ç °úÁ¤
1.3.1 1´Ü°è: ÀÚ±â ÈûÀ¸·Î ÃÊ¹Ý Á¶»ç ¼öÇà
1.3.2 2´Ü°è: È¿°úÀûÀÎ ÀÎÅÍ³Ý °Ë»ö
1.3.3 3´Ü°è: ½Éµµ ÀÖ´Â Á¶»ç ¼öÇà (¿ì¼öÇÑ ¹®Á¦ Á¶»ç ±â¹ý)
1.3.4 4´Ü°è: µµ¿ò/¾ÆÀ̵ð¾î ¾ò±â
1.4 ±â¼úÀû Á¶»ç
1.4.1 Áõ»ó°ú ¿øÀÎ
1.5 »ó¿ëÁ¦Ç° ¹®Á¦ÇØ°á ¹æ¹ý
1.6 °á·Ð
2Àå strace¿Í ½Ã½ºÅÛ È£Ãâ ÃßÀû
2.1 °³¿ä
2.2 strace¶õ?
2.2.1 Ä¿³Î Ãø¸é¿¡¼ ÀÌÇØÇϱâ
2.2.2 ¾ðÁ¦ strace¸¦ »ç¿ëÇÒ±î?
2.2.3 °£´ÜÇÑ ¿¹Á¦
2.2.4 µ¿ÀÏÇÑ ¿¹Á¦¸¦ Á¤ÀûÀ¸·Î ºôµåÇÑ °æ¿ì
2.3 ÁÖ¿ä strace ¿É¼Ç
2.3.1 ÀÚ½Ä ÇÁ·Î¼¼½º ÃßÀû
2.3.2 ½Ã½ºÅÛ È£Ãâ Ȱµ¿ ½Ã°£ ÃøÁ¤
2.3.3 »ó¼¼ Ãâ·Â ¸ðµå
2.3.4 ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º ÃßÀû
2.4 strace ¿µÇâ°ú °í·Á »çÇ×
2.4.1 strace¿Í EINTR
2.5 µð¹ö±ë ½Ç·Ê
2.5.1 LD_LIBRARY_PATH °æ·Î¸¦ ¼öÁ¤ÇÏ¿© ½ÃÀÛ ½Ã°£ ÁÙÀ̱â
2.5.2 PATH ȯ°æ º¯¼ö
2.5.3 inetd ¶Ç´Â xinetd (¼öÆÛ ¼¹ö) ÃßÀûÇϱâ
2.5.4 Åë½Å ¿À·ù
2.5.5 strace·Î Á¤Áö »óÅ Á¶»çÇϱâ
2.5.6 ¿ª°øÇÐ (strace µµ±¸°¡ µ¿ÀÛÇÏ´Â ¹æ½Ä)
2.6 ½Ã½ºÅÛ È£Ãâ ÃßÀû ¿¹Á¦
2.6.1 ¿¹Á¦ ÄÚµå
2.6.2 ½Ã½ºÅÛ È£Ãâ ÃßÀû ÄÚµå ¼³¸í
2.7 °á·Ð
3Àå /proc ÆÄÀϽýºÅÛ
3.1 °³¿ä
3.2 ÇÁ·Î¼¼½º Á¤º¸
3.2.1 /proc/self
3.2.2 /proc/
¼¼ºÎ »çÇ×
3.2.3 /proc/
/cmdline
3.2.4 /proc/
/environ
3.2.5 /proc/
/mem
3.2.6 /proc/
/fd
3.2.7 /proc/
/mapped_base
3.3 Ä¿³Î Á¤º¸¿Í Á¶ÀÛ
3.3.1 /proc/cmdline
3.3.2 /proc/config.gz ¶Ç´Â /proc/sys/config.gz
3.3.3 /proc/cpufreq
3.3.4 /proc/cpuinfo
3.3.5 /proc/devices
3.3.6 /proc/kcore
3.3.7 /proc/locks
3.3.8 /proc/meminfo
3.3.9 /proc/mm
3.3.10 /proc/modules
3.3.11 /proc/net
3.3.12 /proc/partitions
3.3.13 /proc/pci
3.3.14 /proc/slabinfo
3.4 ½Ã½ºÅÛ Á¤º¸¿Í Á¶ÀÛ
3.4.1 /proc/sys/fs
3.4.2 /proc/sys/kernel
3.4.3 /proc/sys/vm
3.5 °á·Ð
4Àå ÄÄÆÄÀÏ
4.1 °³¿ä
4.2 GCC
4.2.1 GCCÀÇ °£´ÜÇÑ ¿ª»ç
4.2.2 GCC ¹öÀü ȣȯ¼º
4.3 ±âŸ ÄÄÆÄÀÏ·¯
4.4 ¸®´ª½º Ä¿³Î ÄÄÆÄÀÏ
4.4.1 Ä¿³Î ¿ø½Ã ÄÚµå ¾ò±â
4.4.2 ¾ÆÅ°ÅØÃ³ °ü·Ã ¿ø½Ã ÄÚµå
4.4.3 Ä¿³Î ÄÄÆÄÀÏ ¿À·ù ó¸®Çϱâ
4.4.4 ÀϹÝÀûÀÎ ÄÄÆÄÀÏ ¹®Á¦
4.5 ¾î¼Àºí¸® ¸ñ·Ï
4.5.1 ¾î¼Àºí¸® ¸ñ·ÏÀÇ ¸ñÀû
4.5.2 ¾î¼Àºí¸® ¸ñ·Ï »ý¼ºÇϱâ
4.5.3 ¾î¼Àºí¸® ¸ñ·Ï Àбâ¿Í ÀÌÇØÇϱâ
4.6 ÄÄÆÄÀÏ·¯ ÃÖÀûÈ
4.7 °á·Ð
5Àå ½ºÅÃ
5.1 °³¿ä
5.2 ½Ç»ýȰ¿¡ ºñÀ¯ÇÑ ¿¹Á¦
5.3 x86/x86-64 ¾ÆÅ°ÅØÃ³ ½ºÅÃ
5.4 ½ºÅà ÇÁ·¹ÀÓÀ̶õ?
5.5 ½ºÅà µ¿ÀÛ ¹æ½Ä
5.5.1 BP¿Í SP ·¹Áö½ºÅÍ
5.5.2 ÇÔ¼ö È£Ãâ ±Ô¾à
5.6 ½ºÅà ÀÚ·á ÂüÁ¶¿Í ¼öÁ¤
5.7 µð¹ö°Å·Î ½ºÅà º¸±â
5.8 ½ºÅà ÀÌÇØÇϱâ
5.8.1 Á÷Á¢ ¼³°èÇÑ ½ºÅà ¿ªÃßÀû ±â´É
5.9 °á·Ð
6Àå GNU µð¹ö°Å(GDB)
6.1 °³¿ä
6.2 µð¹ö°Å¸¦ »ç¿ëÇÏ´Â ½ÃÁ¡
6.3 ¸í·ÉÇà ÆíÁý
6.4 GDB·Î ÇÁ·Î¼¼½º Á¦¾îÇϱâ
6.4.1 GDB ¸í·ÉÇà¿¡¼ ÇÁ·Î±×·¥ ½ÇÇàÇϱâ
6.4.2 GDB¿¡ ½ÇÇà ÁßÀÎ ÇÁ·Î¼¼½º ºÙÀ̱â
6.4.3 core ÆÄÀÏ »ç¿ëÇϱâ
6.5 µ¥ÀÌÅÍ, ¸Þ¸ð¸®, ·¹Áö½ºÅÍ È®ÀÎÇϱâ
6.5.1 ¸Þ¸ð¸® ¸Ê
6.5.2 ½ºÅÃ
6.5.3 ¸Þ¸ð¸®¿Í º¯¼ö È®ÀÎÇϱâ
6.5.4 ·¹Áö½ºÅÍ ´ýÇÁ
6.6 ½ÇÇà
6.6.1 ±âº» ¸í·É
6.6.2 ½ÇÇà Á¦¾î ¸í·ÉÀ» À§ÇÑ È¯°æ¼³Á¤
6.6.3 Á¤ÁöÁ¡
6.6.4 °¨½ÃÁ¡
6.6.5 Á¤Áö ½Ã Ç¥Çö½Ä Ãâ·Â
6.6.6 °øÀ¯ ¶óÀ̺귯¸®·Î ÀÛ¾÷Çϱâ
6.7 ¿ø½Ã ÄÚµå
6.8 ¾î¼Àºí¸® ¾ð¾î
6.9 ÆÁ°ú ±â±³
6.9.1 ÇÁ·Î¼¼½º ºÙÀ̱â: ´Ù½Ã Çѹø µ¹¾Æº¸±â
6.9.2 º¯¼ö¿Í ÇÔ¼öÀÇ ÁÖ¼Ò Ã£±â
6.9.3 µð¹ö±× ½Éº¼ÀÌ ¾ø´Â ÇÁ·Î±×·¥¿¡¼ ±¸Á¶Ã¼ º¸±â
6.9.4 ¿£µð¾ð ¹æ½Ä ÀÌÇØÇÏ°í ´Ù·ç±â
6.10 C++ µð¹ö±ë
6.10.1 Àü¿ª »ý¼ºÀÚ¿Í ¼Ò¸êÀÚ
6.10.2 ÀζóÀÎ ÇÔ¼ö
6.10.3 ¿¹¿Ü
6.11 ½º·¹µå
6.11.1 ½ºÅà °ø°£ ºÎÁ·
6.12 DDD
6.12.1 µ¥ÀÌÅÍ Ç¥½Ã À©µµ¿ì
6.12.2 ¿ø½Ã ÄÚµå À©µµ¿ì
6.12.3 ±â°è¾î À©µµ¿ì
6.12.4 GDB ÄÜ¼Ö À©µµ¿ì
6.13 °á·Ð
7Àå ¸®´ª½º ½Ã½ºÅÛ ºñÁ¤»ó Á¾·á¿Í Á¤Áö
7.1 °³¿ä
7.2 Á¤º¸ ¼öÁý
7.2.1 syslog ¼³¸í
7.2.2 Á÷·Ä ÄÜ¼Ö ÁغñÇϱâ
7.2.3 Á÷·Ä ³Î ¸ðµ© ÄÉÀÌºí ¿¬°áÇϱâ
7.2.4 ÄÄÇ»ÅÍ ½ÃÀÛ °úÁ¤¿¡¼ Á÷·Ä ÄÜ¼Ö È°¼ºÈÇϱâ
7.2.5 SysRq Ä¿³Î ¸¶¹ý Ű Ȱ¿ëÇϱâ
7.2.6 ¿ó½º º¸°í¼
7.2.7 ¼öµ¿ Ä¿³Î Æ®·¦ Ãß°¡Çϱâ
7.2.8 ¿ó½º º¸°í¼ °Ë»çÇϱâ
7.2.9 ½ÇÆÐÇÑ ÄÚµå Çà ã¾Æ³»±â
7.2.10 Ä¿³Î ¿ó½º¿Í Çϵå¿þ¾î
7.2.11 cscope·Î Ä¿³Î ¿ø½Ã ÄÚµå »öÀÎÇϱâ
7.3 °á·Ð
8Àå KDB¸¦ »ç¿ëÇÑ Ä¿³Î µð¹ö±ë
8.1 °³¿ä
8.2 KDB Ȱ¼ºÈÇϱâ
8.3 KDB Ȱ¿ëÇϱâ
8.3.1 KDB ½ÃÀÛÇϱâ
8.3.2 ÀÏ¹Ý µ¿ÀÛÀ¸·Î º¹±ÍÇϱâ
8.3.3 ±âº»ÀûÀÎ ¸í·É¾î
8.4 °á·Ð
9Àå ELF
9.1 °³¿ä
9.2 °³³ä°ú Á¤ÀÇ
9.2.1 ½Éº¼
9.2.2 ¸ñÀû ÆÄÀÏ, °øÀ¯ ¶óÀ̺귯¸®, ½ÇÇà ÆÄÀÏ, ÄÚ¾î ÆÄÀÏ
9.2.3 ¸µÅ·
9.2.4 ·±Å¸ÀÓ ¸µÅ·
9.2.5 ÇÁ·Î±×·¥ ÀÎÅÍÇÁ¸®ÅÍ/·±Å¸ÀÓ ¸µÄ¿
9.3 ELF Çì´õ
9.4 ¼¼±×¸ÕÆ®¿Í ¼½¼Ç °³°ý
9.5 ¼¼±×¸ÕÆ®¿Í ÇÁ·Î±×·¥ Çì´õ Å×À̺í
9.5.1 ÅØ½ºÆ®¿Í µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®
9.6 ¼½¼Ç°ú ¼½¼Ç Çì´õ Å×À̺í
9.6.1 ¹®ÀÚ¿ Å×À̺í Çü½Ä
9.6.2 ½Éº¼ Å×À̺í Çü½Ä
9.6.3 ¼½¼Ç À̸§°ú À¯Çü
9.7 Àç¹èÄ¡¿Í À§Ä¡ µ¶¸³ ÄÚµå
9.7.1 PIC¿Í PIC°¡ ¾Æ´Ñ °æ¿ì ºñ±³
9.7.2 Àç¹èÄ¡¿Í À§Ä¡ µ¶¸³ ÄÚµå
9.7.3 Àç¹èÄ¡¿Í ¸µÅ·
9.8 ELF ¸ñÀûÆÄÀÏ¿¡¼ µð¹ö±ë Á¤º¸ Á¦°ÅÇϱâ
9.9 ÇÁ·Î±×·¥ ÇØ¼®±â
9.9.1 ¸µÅ© Áöµµ
9.10 ½Éº¼ °áÁ¤
9.11 ¹®Á¦ ºÐ¼®À» À§ÇÑ ¾àÇÑ ½Éº¼ Ȱ¿ë
9.12 GOT¸¦ Ȱ¿ëÇÑ °í±Þ °¡·Îä±â
9.13 ¿ø½Ã ÆÄÀÏ
9.14 ELF API
9.15 ±âŸ Á¤º¸
9.16 °á·Ð
ºÎ·Ï A µð¹ö±ë µµ±¸ »óÀÚ
A.1 °³¿ä
A.2 ÇÁ·Î¼¼½º Á¤º¸¿Í µð¹ö±ë
A.2.1 µµ±¸: GDB
A.2.2 µµ±¸: ps
A.2.3 µµ±¸: strace (system call tracer)
A.2.4 µµ±¸: /proc ÆÄÀϽýºÅÛ
A.2.5 µµ±¸: DDD (Data Display Debugger)
A.2.6 µµ±¸: lsof (List Open Files)
A.2.7 µµ±¸: ltrace (library call tracer)
A.2.8 µµ±¸: time
A.2.9 µµ±¸: top
A.2.10 µµ±¸: pstree
A.3 ³×Æ®¿öÅ©
A.3.1 µµ±¸: traceroute
A.3.2 File: /etc/hosts
A.3.3 File: /etc/services
A.3.4 µµ±¸: netstat
A.3.5 µµ±¸: ping
A.3.6 µµ±¸: telnet
A.3.7 µµ±¸: host/nslookup
A.3.8 µµ±¸: ethtool
A.3.9 µµ±¸: ethereal
A.3.10 File: /etc/nsswitch.conf
A.3.11 File: /etc/resolv.conf
A.4 ½Ã½ºÅÛ Á¤º¸
A.4.1 µµ±¸: vmstat
A.4.2 µµ±¸: iostat
A.4.3 µµ±¸: nfsstat
A.4.4 µµ±¸: sar
A.4.5 µµ±¸: syslogd
A.4.6 µµ±¸: dmesg
A.4.7 µµ±¸: mpstat
A.4.8 µµ±¸: procinfo
A.4.9 µµ±¸: xosview
A.5 ÆÄÀϰú ¸ñÀû ÆÄÀÏ
A.5.1 µµ±¸: file
A.5.2 µµ±¸: ldd
A.5.3 µµ±¸: nm
A.5.4 µµ±¸: objdump
A.5.5 µµ±¸: od
A.5.6 µµ±¸: stat
A.5.7 µµ±¸: readelf
A.5.8 µµ±¸: strings
A.6 Ä¿³Î
A.6.1 µµ±¸: KDB
A.6.2 µµ±¸: KGDB
A.6.3 µµ±¸: ksymoops
A.7 ±âŸ
A.7.1 µµ±¸: VMWare ¿öÅ©½ºÅ×À̼Ç
A.7.2 µµ±¸: VNC ¼¹ö
A.7.3 µµ±¸: VNC ºä¾î
ºÎ·Ï B ÀÚ·á ¼öÁý ½ºÅ©¸³Æ®
B.1 °³¿ä
B.1.1 -thorough
B.1.2 -perf, -hang
, -trap, -error
B.2 ½ºÅ©¸³Æ® µ¹¸®±â
B.3 ½ºÅ©¸³Æ® ¼Ò½ºÄÚµå
B.4 ¸éÃ¥
[ ¹Ìµð¾î ¼Æò ]
¸®´ª½º ¿î¿µÃ¼Á¦¿Í °ü·Ã ¼ÒÇÁÆ®¿þ¾î¿¡¼ ³ªÅ¸³ª´Â
¹®Á¦Á¡°ú ¹ö±×¸¦ ½º½º·Î ã¾Æ³»¾î ¹®Á¦¸¦ ÇØ°áÇØÁÖ´Â ±æÀâÀÌ
¸¦ Çϴ åÀÌ´Ù. ¼ÒÇÁÆ®¿þ¾î³ª Çϵå¿þ¾î¿Í °ü·ÃÇÑ ÀáÀçÀûÀÎ ¸®´ª½º ¹®Á¦¸¦ µð¹ö±ëÇÏ´Â ´Ù¾çÇÑ ¹æ¹ýÀ» ¼³¸íÇϰí ÀÖ´Ù.
- PC Burn ¼Æò / pcburn.com
ÀÌ Ã¥Àº ½Ã½ºÅÛ °ü¸®ÀÚ, ÄÄÇ»ÅÍ ¹®Á¦ ÇØ°á»ç, °³¹ßÀÚ¿¡°Ô ²À ÇÊ¿äÇÑ, ±¸±ÛÁ¶Â÷µµ Ç®¾îÁÖÁö ¸øÇÏ´Â ³À̵µ ³ôÀº ¹®Á¦¸¦ ÃßÀûÇØ³ª°¡´Â ÷´Ü ±â¹ýÀ» Ç®¾î¼ ¼Ò°³Çϰí ÀÖ´Ù.
- TechBookReport ¼Æò / www.techbookreport.com
ÀÌ Ã¥Àº ¹®Á¦ Áø´Ü°ú ÇØ°áÀ» À§ÇÑ ½ÇÁúÀûÀÎ Á¢±Ù ¹æ¹ýÀ» ÅÃÇϰí ÀÖÀ¸¸ç, º¹ÀâÇÑ À¯Çà¾î¸¦ ÃÖ¼Ò·Î »ç¿ëÇÏ¸é¼ °£´ÜÇÏ°í ¸í·áÇÑ ¹æ¹ýÀ¸·Î °³³äÀ» ¼³¸íÇÑ´Ù.
- All about Linux / linuxhelp.blogspot.com
½Ã½ºÅÛ ¹®Á¦¸¦ µð¹ö±ëÇϱâ À§ÇÑ ¾ÆÁÖ Àß Á¤¸®µÈ ¹æ¹ý·Ð¿¡¼ ½ÃÀÛÇϴ ù 40ÆäÀÌÁö´Â ¾Ð±ÇÀ̸ç, ¸®´ª½º ÇÁ·Î±×·¡¸Ó´Â ¹°·ÐÀÌ°í ´Ù¸¥ ¸ðµç ½Ã½ºÅÛ °³¹ßÀÚ¿¡°Ôµµ ÈǸ¢ÇÏ°Ô Àû¿ëÀÌ °¡´ÉÇÑ ³»¿ëÀ» ´ã°í ÀÖ´Ù.
- Duffbert's Random Musings / hostit1.connectria.com
ÀÌ Ã¥Àº Çϳª ÀÌ»ó ½Ã½ºÅÛ¿¡¼ ¸ÅÀÏ ¸®´ª½º¸¦ »ç¿ëÇÏ´Â ´©±¸¿¡°Ô³ª ÀûÇÕÇÑ Ã¥ÀÌ´Ù. ¿¹Á¦´Â ¾ÆÁÖ »ó¼¼Çؼ ¸í·É, ¿É¼Ç, Ãâ·Â, ¿¹Á¦ ÄÚµå, ´Ù¾çÇÑ ½Ã³ª¸®¿À¿¡ Á¢Çϵµ·Ï ¸¸µé¾îÁØ´Ù. ÀÌ Ã¥Àº Çö½ÇÀûÀ̸鼵µ ½ÇÁúÀûÀÎ ¹®Á¦ ÇØ°á Á¢±Ù ¹æ¹ýÀ» ÅÃÇϰí ÀÖÀ¸¸ç, ¿ì¸® ¸ðµÎ¸¦ À§ÇÑ ¹®Á¦ ÇØ°á»ç ±¸½ÇÀ» ÇÒ °ÍÀÌ´Ù.
- ½½·¡½Ã´å / books.slashdot.org
[ ¾Æ¸¶Á¸ µ¶ÀÚ¼Æò ]
¡Ú¡Ú¡Ú¡Ú¡Ú
Àú´Â ÇԺηΠº°À» ´Ù¼¸ °³ ÁÖÁö ¾Ê½À´Ï´Ù.
- ¾ÈÅä´Ï ·Î·»½º(À¯´Ð½º, ¸®´ª½º, ¸ÆOS X Àü¹®°¡)
¡Ú¡Ú¡Ú¡Ú¡Ú
°íÂ÷¿øÀûÀÎ ¼ÒÇÁÆ®¿þ¾î µð¹ö±ë°ú ¹®Á¦ ÇØ°á»ç
- ´Ò½º ¹ß·»Æ¾
¡Ú¡Ú¡Ú¡Ú¡Ú
°í±Þ »ç¿ëÀÚ¿Í °ü¸®ÀÚ¸¦ À§ÇÑ Çʼö¼Àû
- ÇØ·Ñµå ¸ÆÆÄ·£µå(»óÀ§ 50 ¸®ºäÀÚ)
¡Ú¡Ú¡Ú¡Ú¡Ú
GDB¿¡ ´ëÇÑ ¸ÚÁø Âü°í¼
- W º¸¹ÙÀÏ(»óÀ§ 50 ¸®ºäÀÚ)
1¼â ¿À·ù/¿ÀÅ»ÀÚ
[
p.viii
³¡¿¡¼ µÎ ¹øÂ° ¹®´Ü 4Çà ]
(ÁÖÀÇ: ´Þ¸® ¿ø¼ ¿¹Á¦´Â ¡æ (ÁÖÀÇ: ¿ø¼ ¿¹Á¦´Â ¹ø¿ª¼¿Í´Â ´Þ¸®
[
p.xxi
Âü°í 2Çà ¸¶Ä§Ç¥ »èÁ¦ ]
http://www.phptr.com/title/013147751X. ¡æ http://www.phptr.com/title/013147751X
[
p.93
¼¼ ¹øÂ° ¹®´Ü 2-3Çà ]
/bin/bash
¿¡,
ÁÖ¼Ò °ø°£ 0x08048000-01080b6000À¸·Î »ç»óµÇ¾î
¡æ /bin/bash
½ÇÇàÆÄÀÏÀÌ
ÁÖ¼Ò °ø°£ 0x08048000-01080b6000À¸·Î »ç»óµÇ¾î
[
p.177
ÆÁ ¹Ú½º 2Çà ]
°æ°è´Â 2
NUM
À¸·Î °è»êÇÑ´Ù.
¡æ °æ°è´Â 2
NUM
À¸·Î °è»êÇÑ´Ù.
[
p.177
¾Æ·¡¿¡¼ ³× ¹øÂ° Çà ]
³× ¹øÂ° ¿öµå´Â ÁÖ¼Ò°¡
0xbffff228c
, °ªÀº
¡æ ³× ¹øÂ° ¿öµå´Â ÁÖ¼Ò°¡
0xbffff22c
, °ªÀº
[
p.178
ù ¹øÂ° ÄÚµå 4Çà ]
mov
%esp, %ebp ¡æ
movl
%esp, %ebp
[
p.178
ÆäÀÌÁö ù ¹øÂ° ÄÚµå 8Çà ]
0x08048424 <function2+16>:
lea
0xfffffffc(%ebp), %eax
¡æ 0x08048424 <function2+16>:
leal
0xfffffffc(%ebp), %eax
[
p.179
µÎ ¹øÂ° ¹®´Ü ]
0xbffff234, 0xbffff238, 0xbffff23c,
0xbffff40
¿¡ ÀúÀåµÈ
¡æ 0xbffff234, 0xbffff238, 0xbffff23c,
0xbffff240
¿¡ ÀúÀåµÈ
[
p.179
µÎ ¹øÂ° ¹®´Ü 2Çà ]
½ºÅà Æ÷ÀÎÅ͸¦ ¿Å±â´Â
subl
¸í·É µÎ °³¸¦ º¸¸é
¡æ ½ºÅà Æ÷ÀÎÅ͸¦ ¿Å±â´Â
sub
¸í·É µÎ °³¸¦ º¸¸é
[
p.183
2Çà, 4Çà ]
-export-dynamic ¡æ --export-dynamic
[
p.183
1-3Çà¿¡ ´ëÇÑ ¿ªÀÚÁÖ Ãß°¡ ]
(µ¶ÀÚ ±èÈ«¼÷´Ô²²¼ ÀÇ°ß Áּ̽À´Ï´Ù.)
-rdynamic ½ºÀ§Ä¡´Â gccÀÇ specsÆÄÀÏ¿¡ ÀúÀåµÈ ³»¿ë¿¡ µû¶ó ¸µÄ¿ ¿É¼Ç --export-dynamic À¸·Î º¯°æµÈ´Ù. ´ÙÀ½°ú °°Àº ¸í·ÉÀ» ÅëÇØ È®ÀÎÇÒ¼ö ÀÖ´Ù.
gcc -dumpspecs | grep rdynamic
%{!static:--eh-frame-hdr} -m %(link_emulation) %{shared:-shared} %{!shared: %{!ibcs: %{!static: %{rdynamic:-export-dynamic} %{!dynamic-linker:-dynamic-linker %(dynamic_linker)}} %{static:-static}}}
[
p.198
¸¶Áö¸· ÄÚµå ¾Æ·¡¿¡¼ 4Çà ]
(gdb) unset envrionment
FOOs
¡æ (gdb) unset envrionment
FOO
[
p.201
¾Æ·¡¿¡¼ 11Çà ]
ÇöÀç ¼³Á¤À» ÀüºÎ º¸·Á¸é
-u
Àμö¸¦ »ç¿ëÇÑ´Ù.
¡æ ÇöÀç ¼³Á¤À» ÀüºÎ º¸·Á¸é
-a
Àμö¸¦ »ç¿ëÇÑ´Ù.
[
p.203
¸¶Áö¸· Çà ]
core-pattern
¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº
¡æ
core_pattern
¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ¼³¸íÀº
[
p.247
ÄÚµå ³× ¹øÂ° Çà foo ÇÔ¼öÀÇ return Á÷Àü ¹®Àå ]
pEmp->
manager_emp_no=10;
¡æ pEmp->
is_ceo=1;
[
p.248
¾Æ·¡¿¡¼ 3Çà ]
0x08048372 <foo+6>: movl
$0x10
, 0x4 (%eax)
¡æ 0x08048372 <foo+6>: movl
$0x1
, 0x4 (%eax)
[
p.295
¸¶Áö¸· Çà ]
cscope -d -P /usr/src/$dbpath -p 20 -f /usr/src/$dbpath/cscope.out fi
¡æ cscope -d -P /usr/src/$dbpath -p 20 -f /usr/src/$dbpath/cscope.out
fi
[
p.315
¸¶Áö¸· Çà ]
g++ -o foo main.o -L.
-Wl,-rpath,
-lfoo
¡æ g++ -o foo main.o -L.
-Wl,-rpath,.
-lfoo
[
p.344
Ç¥ 1Çà 1¿ ]
°ª ¼ýÀÚ ¡æ °ª ¹øÈ£
[
p.344
µÎ ¹øÂ° ÄÚµå 1Çà ]
penguin> readelf -S foo
¡æ penguin> readelf -S libfoo.so
[
p.344
µÎ ¹øÂ° ¹®´Ü ]
ÁÖ¼Ò 4¿¡¼ 8±îÁö´Â 0x796¿¡¼ 0x7d6±îÁö ¾Æ¿ì¸£¸ç,
¡æ 4¹øÂ° ÁÖ¼Ò¿¡ ÀÖ´Â °ª¿¡¼ 8¹øÂ° ÁÖ¼Ò¿¡ ÀÖ´Â °ªÀº 0x796¿¡¼ 0x7d6±îÁö ¾Æ¿ì¸£¸ç,
[
p.353
º»¹® 1-2Çà ]
PLT´Â ½ÇÇàÆÄÀÏÀÌÁö¸¸ ¾ÆÁÖ Æ¯¼öÇÑ ½ÇÇà ÆÄÀÏ·Î PLT¿¡¼ °¢ ÇÔ¼ö¸¶´Ù Çϳª¾¿ Á¸ÀçÇÑ´Ù.
¡æ PLT´Â ¾ÆÁÖ Æ¯¼öÇÑ ½ÇÇà °¡´É ¿µ¿ªÀÌ´Ù(PLT¿¡´Â °¢ ÇÔ¼ö¸¶´Ù Ç׸ñÀÌ Çϳª¾¿ Á¸ÀçÇÑ´Ù).
[
p.353
º»¹® 2Çà ]
objdump¸¦ »ç¿ëÇØ¼ PLT¸¦ ¿ª¾î¼ÀºíÇßÁö¸¸,
¡æ objdump¸¦ »ç¿ëÇØ PLT¸¦ ¿ª¾î¼ÀºíÇØºÁ¾ß,
[
p.353
¾Æ·¡¿¡¼ 2Çà ]
main.C ÆÄÀÏ¿¡¼ ÇÔ¼ö mainÀº sleepÀ» È£ÃâÇÏ¿© Àáµé±â¿¡ µé¾î°£´Ù.
¡æ main.C ÆÄÀÏ¿¡¼ ÇÔ¼ö mainÀº sleepÀ» È£ÃâÇÑ´Ù.
[
p.354
µÎ ¹øÂ° ¹®´Ü ]
ù ¹øÂ° ¸í·ÉÀº ÁÖ¼Ò 0x8049924·Î °Ç³Ê¶Ù´Â jmpÀÌ´Ù.
¡æ ù ¹øÂ° ¸í·ÉÀº ÁÖ¼Ò 0x8049924
¿¡ ÀúÀåµÈ ³»¿ëÀ» ÁÖ¼Ò·Î ÇØ¼®ÇÏ¿© ÇØ´ç ÁÖ¼Ò·Î
°Ç³Ê¶Ù´Â jmpÀÌ´Ù.
[
p.359
5-7Çà ]
½ºÅÿ¡¼ ¸î¸î ÇÔ¼ö´Â Á¤ÀûÀ̸ç ÇÁ·Î±×·¥ÀÇ ÁÖ¼Ò ¿µ¿ªÀº ½ºÅà ÇÔ¼ö ÁÖ¼Ò¸¦ ÇÔ¼ö À̸§À¸·Î »ç»óÇϱâ À§ÇØ »ç¿ëÇÏ´Â ½Éº¼ Å×À̺íÀ» Æ÷ÇÔÇÏÁö ¾ÊÀ»Áöµµ ¸ð¸¥´Ù.
¡æ ½ºÅÿ¡ ÀÖ´Â ÇÔ¼ö Áß ¸î¸îÀº Á¤Àû ÇÔ¼ö(static function)ÀÏ ¼ö ÀÖÀ¸¸ç, ÇÁ·Î±×·¥ÀÇ ÁÖ¼Ò ¿µ¿ªÀº ½ºÅà ÇÔ¼öÀÇ ÁÖ¼Ò¸¦ ÇÔ¼ö À̸§À¸·Î »ç»óÇϱâ À§ÇØ »ç¿ëÇÏ´Â ½Éº¼Å×À̺íÀ» Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù.
[
p.360
±×¸² 9.4 ]
µ¥ÀÌÅÍ ¼½¼Ç ¡æ µ¥ÀÌÅÍ ¼¼±×¸ÕÆ®
[
p.361
4Çà ]
ÇÔ¼ö´Â
¿ì¼± PLT·Î °¡¼ ¡æ
ÇÔ¼ö ÂüÁ¶´Â
¿ì¼± PLT·Î °¡¼
[
p.362
¾Æ·¡¿¡¼ 7-8Çà ]
static myClass myObj ;
myClass myObj2 ;
¡æ int glob_int = 5;
static int static_int =5;
[
p.367
9.7.3 Àç¹èÄ¡¿Í ¸µÅ· Àý 1-2Çà ]
¸µÅ·Àº À¯Çü°ú À̸§ÀÌ µ¿ÀÏÇϸç Á¤ÀÇµÈ ½Éº¼·Î Á¤ÀǵÇÁö ¾ÊÀº ½Éº¼À» ÀÏÄ¡½ÃÄÑ ¹´Â °úÁ¤ÀÌ´Ù.
¡æ ¸µÅ·Àº Á¤ÀǵÇÁö ¾ÊÀº ½Éº¼À» À¯Çü°ú À̸§ÀÌ µ¿ÀÏÇÑ Á¤ÀÇµÈ ½Éº¼·Î ¸ÅĪ, ¹ÙÀεù½ÃŰ´Â °úÁ¤ÀÌ´Ù.
[
p.368
Âü°í ¾Æ·¡ ½ÇÇ࿹ 2Çà ]
penguin> readelf -r
pic.o
¡æ penguin> readelf -r
pic
[
p.372
'ÇÁ·Î±×·¥ ÇØ¼®±â' Àý ¾Æ·¡ ¹®´Ü ¿ªÀÚÁÖ Ãß°¡ ]
export LD_SHOW_AUXV=true·Î º¸Á¶º¤Å͸¦ º¼ ¼ö ÀÖµµ·Ï ¼³Á¤Çϰí ÀÖ´Ù. º¸Á¶ º¤ÅÍ Á¤º¸¸¦ ´õ ÀÌ»ó ¾Èº¸°íÀÚ ÇÑ´Ù¸é unset LD_SHOW_AUXV¸í·ÉÀ¸·Î ȯ°æº¯¼ö LD_SHOW_AUXV¸¦ ÇØÁ¦ÇÑ´Ù.
[
p.384
intercept.C ÄÚµå ¾Õ¿¡ ÇÑ Çà Ãß°¡ ]
intercept.C:
¡æ int printf(const char *format, ...);
intercept.C:
[
p.440
±×¸² ]
µµ¼°Ë»ö
search
acornLoft
ÀÓº£µðµå ½Ã½ºÅÛ
À¥ ÇÁ·ÎÆä¼Å³Î
ÇØÅ·°ú º¸¾È
ÀÌŬ¸³½º ÇÁ·ÎÆä¼Å³Î
¿ÀǼҽº ÇÁ·Î±×·¡¹Ö
¼Ò¼È¹Ìµð¾î
°Ë»ö ¸¶ÄÉÆÃ¡¤À¥ ºÐ¼®
¾ÆÅ°ÅØÃ³
°ÔÀÓ °³¹ß ÇÁ·Î±×·¡¹Ö
UX ÇÁ·ÎÆä¼Å³Î
¸ð¹ÙÀÏ ÇÁ·Î±×·¡¹Ö
À©µµ¿ì ½Ã½ºÅÛ
ÇÁ¸®Á¨Å×À̼Ç
MONITOR GROUP
¼ÒÇÁÆ®¿þ¾î´ã·Ð
ÀÚ¹Ù/ÀÌŬ¸³½º
±×·¡ÇÈ µðÀÚÀÎ
Ç÷¡½Ã