Subject : Introduction to adb
Description :
-----------------------
| introduction to adb I | - "PANIC" chapter 7 -
-----------------------
UNIX "adb" command ´Â °¡Àå ¿À·¡µÇ°í °¡Àå ½±°Ô ¾òÀ» ¼ö ÀÖ´Â UNIX debuggers ÀÌ´Ù.
ºñ·Ï adb °¡ GUI ¿Í °°Àº Ư¼ºÀ» °®Áö ¸øÇϰí source code ¿¡ Á÷Á¢ÀûÀÎ ÀÛ¾÷À» ÇÏÁö
¸øÇÏ´õ¶óµµ ¾ÆÁÖ °£´ÜÇϸç UNIX gurus»çÀÌ¿¡¼ kernel debugger ·Î ¹Þ¾Æµé¿© Áø´Ù.
adb ´Â kernel crashes ÀÇ ½ÃÇè¿¡¸¸ Á¦ÇѵÇÁö ¾ÊÀ¸¸ç user program°ú application
packages ÀÇ ¹®Á¦¸¦ ã´Âµ¥µµ À¯È¿ÇÑ toolÀÌ´Ù.
'adb(absolute debugger)'¶ó´Â À̸§Àº adb°¡ global symbols¿Í º¸Åë hexadecimal
ÀÎ absolute address¸¦ ´Ù·ç´Â »ç½Ç¿¡¼ Áö¾îÁ³´Ù.
adb´Â source files,line numbers,local variables,internal function labelÀ» ¾ËÁö
¸øÇϸç assembly language¿Í º¹ÀâÇÏÁö ¾ÊÀº C code¿¡¼ ÃÖÀûÀ¸·Î ÀÛ¾÷ÇÑ´Ù.
adb ´Â ´Ü¼øÈ÷ ÀÌÇØÇÑ´Ù¸é Çϳª ¶Ç´Â µÎ ¹®ÀÚ ¸í·É¾î·Î¼ live system»óÀÇ processÀÇ
½ÇÇàÀ» Á¦¾îÇϰí adbÀÇ µ¿ÀÛÀ» Á¦¾îÇϸç fileÀ̳ª memoryÀÇ ³»¿ëÀ» ¿©·¯°¡Áö ´Ù¸¥
¼ýÀÚ(numerous)Çü½ÄÀ¸·Î displayÇÑ´Ù.
adb´Â system crashes ¿¡ ÀÇÇØ ¸¸µé¾îÁø postmortem file°ú live kernelÀÇ ÀÛ¾÷¿¡
¾Ë¸Â´Ù.
adb´Â °£´ÜÇÏ°í ´Ü¼øÇÑ º»¼ºÀÌ ÀÖ´Â ¹Ý¸é adb macor¶ó´Â °·ÂÇÑ ±â´ÉÀ» Á¦°øÇÑ´Ù.
= The kernel resident absolute debugger,kadb
kadb ÀÇ Æ¯Â¡Àº UNIX kernel ´ë½Å booting ÇÒ ¼ö ÀÖÀ¸¸ç kernel absolute debugger
ÀÌ´Ù.
kadb·Î boot up µÈ ÈÄ kernelÀ» loadÇÏ°í ½ÇÇà ½Ãų ¼ö ÀÖ´Ù.
±×¸®°í »ì¾Æ ÀÖ´Â »óÅ¿¡¼ kernelÀ» ¼öÁ¤Çϰí testÇÒ ¼ö ÀÖÀ¸¸ç breakpointsÀÇ
settingÀ» °¡´ÉÇÏ°Ô ÇØ ÁØ´Ù.(ÁÖ-breakpoint¶õ ÇÁ·Î±×·¥ÀÌ ½ÇÇàÀÌ Áß´ÜµÇ¾î ½Ã½ºÅÛÀÇ
»óÅÂ,º¯¼öµéÀÇ °ª ¶Ç´Â ±â¾ïÀå¼ÒÀÇ ³»¿ëµî°ú °°ÀÌ ÇÁ·Î±×·¥ÀÇ ÇöÀç»óŸ¦ ¾Ë¾Æº¼ ¼ö
ÀÖ´Â ÁöÁ¡,ÀÌ·¯ÇÑ Áß´ÜÁ¡Àº ÇÁ·Î±×·¥ÀÇ ³»¿ëÀ» debugging ÇϱâÀ§ÇØ »ç¿ë)
kadbµµ macro facility¸¦ °¡Áö°í ÀÖÀ¸³ª adb macro Ư¼º°ú ´Ù¸£´Ù. kadb¿¡ À¯È¿ÇÑ
macro´Â kadb°¡ ½ÇÇà °¡´ÉÇϵµ·Ï »õ·Î ¸¸µé¾îÁ®¾ß ÇÑ´Ù.
system ÀÌ kadb ·Î ¶³¾îÁö¸é, ´Ù½Ã¸»ÇØ kadb prompt¸¦ º¸°ÔµÇ¸é ¸ðµç°ÍÀÌ stopµÈ´Ù.
´õÀÌ»ó À©µµ¿ì¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç background process¸¦ ¼öÇà ÇÒ ¼ö¾øÀ¸¸ç,console
¿¡¼ kadb¸¦ ¼öÇàÇϰí ÀÖ´Â »ç¶÷¿Ü¿£ system¿¡ accessÇÒ ¼ö ¾ø´Ù.
= adb hardware & software requirements
adb¸¦ »ç¿ëÇÏ¿© savecore files¸¦ ºÐ¼®ÇϱâÀ§ÇØ savecore files¸¦ °°Àº kernel arch.
¿Í °°Àº operating system release¸¦ °¡Áø systemÀ¸·Î ¿Å±â´Â °ÍÀÌ ÃÖ¼±ÀÌ°í °¡Àå
°£´ÜÇÑ ¹æ¹ýÀÌ´Ù. ¹°·Ð crashedµÈ ½Ã½ºÅÛ ÀÚü¿¡¼µµ systemÀÌ backupµÇ°í running
ÇÑ´Ù´Â °ÍÀ» °¡Á¤ÇÏ¿¡ ºÐ¼®ÀÌ °¡´ÉÇÏ´Ù. (note- libraries,programs,directory µîÀÇ
Á¶ÀÛÀ» ÅëÇØ ´Ù¸¥ kernel arch¿Í OS·ÎºÎÅÍ postmortem filesÀÇ ºÐ¼®À̰¡´ÉÇÏ´Ù.)
systemÀÇ kernel architecture¿Í OS´Â /usr/ucb/arch -k ¶Ç´Â uname -a command·Î
¾Ë¾Æº¼ ¼ö ÀÖ´Ù.
= Architecture & OS mismatched: Some adb error messages
¼·Î´Ù¸¥ kernel architecture ¶Ç´Â OS·ÎºÎÅÍ kernelÀÇ crash dump»ó¿¡ adb¸¦ ½Ãµµ
ÇÏ¸é ¾Æ·¡¿Í °°Àº ¿©·¯°¡Áö error messages¸¦ º¸°ÔµÈ´Ù.
"Cannot adb -k: vmunix.0 : not a kernel namelist"
SUN4/400 OS4.1.3 ÀÇ crash dump fileÀ» SS20,solaris2.3¿¡¼ adb¸¦ ½ÇÇà
"Cannot adb -k:unix.0: can't find swapinfo"
SUN4d systemÀÇ crash dump fileÀ» SS20,solaris2.3¿¡¼ adb¸¦ ½ÇÇà
"Segmentation Fault - core dumped"
SC2000,Solaris2.2 ÀÇ crash dump fileÀ» SS20,solaris2.3¿¡¼ adb¸¦ ½ÇÇà
"Cannot adb -k: vmcore.0: uncondense error on kvtopdata : Error 0"
"Cannot adb -k: vmcore.0: unable to read kvtopdata"
SUN4m,2.3 systemÀÇ crash dump fileÀ» SUN4m,2.2¿¡¼ adb¸¦ ½ÇÇà
"Cannot adb -k: cannot mmap vmcore.0's bitmap: Invalid argument"
sun4d 2.3 crash¸¦ sun4 4.1.3¿¡¼ adb¸¦ ½ÇÇà
¸¶Áö¸·À¸·Î kernel arch¿Í OS°¡ Àß matchµÈ °æ¿ì°¡ ¾Æ·¡¿¡ ÀÖ´Ù.
____________________________________________________________
| |
| system# adb -k unix9 vmcore.9 |
| physmem fd87 |
|____________________________________________________________|
À§ ¼º°øÀûÀÎ ¿¹¿¡¼ º¸µí adb´Â memoryÀÇ pages ÀÇ ¼ýÀÚ¸¦ display ÇÑ ÈÄ
¿ì¸®ÀÇ Ã¹¹øÂ° command¸¦ ±â´Ù¸°´Ù.
= The distribution of adb
adb programÀº solaris 1.x systems ÀÇ debugging groupÀÇ ÀϺκп¡ ¼ÓÇØÀÖ´Ù.
Solaris 2 systems¿¡¼´Â adb´Â º¸´Ù moduleÈ µÇ¾î 4°³ÀÇ packages ¿¡ ºÐ»ê
µÇ¾î ÀÖ´Ù.(man page´Â Á¦¿Ü)
@ SUNWcar : kadb found
@ SUNWkvm : adb & adb macros
@ SUNWtoo : adb °¡ /usr/bin¿¡ linkµÇ¸ç savecore¿Í strings programÀ» Æ÷ÇÔ
@ SUNWesu : adbgen utility ¸¦ Æ÷ÇÔ adbgen Àº ÇÁ·Î±×·¡¸Ó°¡ adb macros¸¦
¸¸µé ¼ö ÀÖ°Ô µµ¿ÍÁÖ´Â utilityÀÌ´Ù.
= The different uses of adb & kadb
core ¸¦ dump½ÃŲ user programÀ» »ìÆì º¸°Å³ª crash°¡ ¹ß»ýÇÑ postmortem
fileÀ» ½ÃÇèÇϱâ À§Çؼ adb¸¦ »ç¿ëÇÏ·Á¸é object file°ú core fileÀ» ÇÔ²²
»ç¿ëÇÏ¿©¾ß ÇÑ´Ù.
- The object file
½ÇÇà °¡´ÉÇÑ object fileÀº programÀ̳ª kernelÀÌ µÉ ¼ö Àִµ¥ ÀÌ fileÀº
symbol table°ú ½ÇÇà°¡´ÉÇÑ code¸¦ ´ã°í ÀÖ´Ù.symbol tableÀº ÇÊ¿äÇÏÁö´Â
¾ÊÁö¸¸ ±×°ÍÀÌ ¾øÀ¸¸é adbÀÇ symbolic Ư¼ºÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù.
default object fileÀº a.outÀÌ´Ù.
symbol tableÀº adb ¶Ç´Â ´Ù¸¥ debugger°¡ symbolic name°ú real address¸¦
matching ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.adb°¡ ÀüÇô °ü½ÉÀÌ ¾ø´õ¶óµµ hexadecimal
address º¸´Ù º¯¼ö³ª functionµéÀÌ À̸§À» °¡Áö´Â ÆíÀÌ »ç¸²µé¿¡°Ô º¸´Ù³ªÀº
¹ÝÀÀÀ» ÁÙ °ÍÀÌ´Ù.
- The core file
kernelÀ̳ª programÀÇ postmortem ºÐ¼®¿¡¼ ½ÇÆÐ°¡ ÀÏ¾î³ ¼ø°£¿¡
kernelÀ̳ª ÇÁ·Î±×·¥¿¡ ÀÇÇØ »ç¿ëµÈ memory ÀÇ sanpshotÀ» ³ªÅ¸³»´Â
image fileÀÌ core file À̸ç default´Â coreÀÌ´Ù.
live system ÀÌ º¸¿©Áú¶§´Â core fileÀº kernel¿¡ ÀÇÇØ ÇöÀç »ç¿ëµÇ´Â memoryÀÇ
¹Ý¿µÀÌ´Ù.
¸¸¾à ¾î¶² ÀÌÀ¯·Îµç object file°ú core file Áß Çϳª¶óµµ ¾ø´Â °æ¿ì adb¸¦
ÀÏÀ¸Ä×À»¶§ command line »óÀÇ ÀÚ¸®¿¡ dash "-"¸¦ ¸í½ÃÇÒ ¼ö ÀÖ´Ù.
- Using adb on crash dumps
core fileÀº errorÀÇ ¿øÀΰú À§Ä¡¸¦ ±ÔÁ¤Çϱâ À§ÇØ ½ÇÇà file °ú ÇÔ²² ½ÃÇèµÉ ¼ö
ÀÖÀ¸¸ç adb°¡ assembly code ¿Í ÇÔ²² ÀÛ¾÷Çϱ⠶§¹®¿¡ ÇÁ·Î±×·¥ÀÇ source code°¡
¾ø´õ¶óµµ ¸¹Àº ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù.
savecore files Àº physical memory ÀÇ Àüü³»¿ëÀÌ ¾Æ´Ï´õ¶óµµ º¸Åë ¸ðµç kernel
data space¸¦ Æ÷ÇÔÇÑ´Ù.
adb -k flag ´Â crash dump savecore files À̳ª live systemÀÇ ºÐ¼®¿¡ »ç¿ëµÈ´Ù.
¿Ö³Ä¸é adb´Â kernel data space ¿¡ ´ëÇÑ ¸¹Àº address translation ÀÛ¾÷ÀÌ ¸¹ÀÌ
ÇÊ¿äÇϱ⠶§¹®ÀÌ´Ù.(ÁÖ- -k flag´Â kernel memory mappingÀ» ¼öÇà;system crash
dump ¶Ç´Â /dev/mem,¶Ç´Â sapfileÀ» »ç¿ëÇÒ ¶§ »ç¿ë)
- Using adb on live systems
adb´Â postmortem files¸¸ debugging µÇ´Â °ÍÀÌ ¾Æ´Ï´Ù.
adb´Â º¸´Ù ³ªÀº performance¸¦ ¾ò±â À§Çؼ running systemÀ» ¼öÁ¤Çϰųª Á¶Á¤ÇÒ
¼ö ÀÖ´Ù.
adb´Â ¶ÇÇÑ systemÀÇ behavior¸¦ Â÷±â boot ½Ã¿¡ ¹Ù²Ù±â À§Çؼ klernelÀ» ¼öÁ¤ÇÏ
´Âµ¥µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
default·Î adb´Â object¿Í core file¸¦ Àаųª º¼ ¼ö ¹Û¿£ ¾ø´Ù.
±×·¯³ª adb¸¦ ÀÏÀ¸Å³ ¶§ -w flag¸¦ ¾²°Å³ª adb¿¡¼ $W command¸¦ ¾²¸é writeÇÒ ¼ö
ÀÖ´Ù.
- The kernel resident absolute debugger,kadb
live systemÀ» debugÇÒ À§Ä¡¿¡ ÀÖ´Ù¸é kadb¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
kadb´Â operating system´ë½Å¿¡ debugger·Î ÃʱâbootingÇÏ¿© kernelÀÇ ³ª¸ÓÁö¸¦
loadÇϰųª start½Ãų ¼ö ÀÖµµ·Ï ¸¸µé¾îÁ® ÀÖ´Ù.
¾î¶²°ÍÀÌ panicÀ» ÀÏÀ¸Ä×À»¶§ systemÀÌ Á×´Â »óȲ¿¡¼ kadb´Â systemÀ» Á¢¼öÇϰí
¾ó¸¶°£ systemÀ» ¶°³¯ ¼ö ÀÖ´Ù. ÀÌ ½ÃÁ¡ÀÌ kadb °¡ ¿ì¸®¿Í ÇÔ²² ÀÏ ÇÒ Áغñ°¡ µÈ
°ÍÀÌ´Ù.
kadbÀÇ ´ëÈÀû Ư¼ºÀº ÁÖ¿äÇÑ ÀÌÁ¡ÀÌ´Ù.
kadb¸¦ »ç¿ëÇÏ¿© kernelÀÇ breakpoint¸¦ ¼³Á¤Çؼ ¸¶Ä¡ Ä¿´Ù¶õ user program°ú °°ÀÌ
´Ü°èÀûÀ¸·Î ½ÇÇà½Ã۰í values¸¦ ¼öÁ¤ÇÏ¿© testÇÒ ¼ö ÀÖ´Ù.
adb¸¦ »ç¿ëÇÏ¿© postmortem files¸¦ ´Ù·ê¶§´Â À§¿Í°°Àº levelÀÇ interactionÀº Áغñ
µÇÁö ¾Ê´Â´Ù.
- adb macros & /usr/lib/adb
ºñ·Ï adb°¡ ¸Å¿ì Á¦ÇÑµÈ ¸í·É¾îÀÇ setsÀ» °¡Áö°í ÀÖÁö¸¸ macros·Î ¾Ë·ÁÁø »ó´çÈ÷
°·ÂÇÑ ¸í·É¾îÀÇ combinations À» °¡Áö°íÀÖ´Ù.
adb macros´Â common commandsÀÇ setÀ» ¸¸µé°í ÀúÀåÇϰí invokeÇÒ ¼ö ÀÖ°ÔÇϸç
´Ù¸¥ macro¸¦ callÇÒ ¼ö ÀÖ°Ô designµÇ¾î Á³°í ÃÖ¼ÒÀÇ ³ë·ÂÀ¸·Î °·ÂÇÑ ºÐ¼®À»
°¡´ÉÄÉ ÇÑ´Ù.
¸¹Àº ¼öÀÇ macro files°¡ solaris 1¿¡¼ /usr/lib/adb ¾È¿¡ ÁغñµÇ¾î ÀÖ´Ù.
Solaris 2 systemÀº /usr/kvm/lib/adb ¿¡¼ adb macros¸¦ ãÀ» ¼ö ÀÖ´Ù.
´ëºÎºÐÀÇ macros´Â SUN¿¡ ÀÇÇØ ÁغñµÇ¾î kernelÀ¸·ÎºÎÅÍ Åë»óÀûÀ¸·Î ÇÊ¿äÇÑ ±¸Á¶¸¦
Àб⽬¿î Çü½ÄÀ¸·Î print out Çϴµ¥ »ç¿ëµÈ´Ù.
- General startup syntax
-------------------------
| adb objectfile corefile |
-------------------------
- User program debugging
----------------
| adb a.out core |
----------------
-----------------
| adb myprogram - |
-----------------
user programÀ» ½ÃÇèÇϱâÀ§ÇØ adb¸¦ invoking ÇÒ¶§ÀÇ syntax´Â À§¿Í°°´Ù.
¸¸¾à core fileÀÌ ¸í½ÃµÇÁö ¾ÊÀ¸¸é, adb´Â ÇöÀç directoryÀÇ core fileÀ»
ã´Â´Ù.
core file´ë½Å "-"(dash)°¡ ¸í½ÃµÇ¸é adb´Â object fileÀ» ½ÇÇàÇϱâÀ§ÇØ
system memory¸¦ »ç¿ëÇÑ´Ù. À̿Ͱ°Àº »ç¿ë¹ýÀº ÃßÈÄ "Symbol Tables"¿¡¼
»ìÆìº¸ÀÚ.
executable image ¾È¿¡ symbol table ÀÌ ¾øÀ¸¸é adb´Â º¯¼ö ¶Ç´Â function
µéÀ» À̸§¿¡ ÀÇÇØ ¸í½ÃÇÒ ¼ö ¾ø´Ù.
À̰æ¿ì errorÀÇ À§Ä¡¸¦ ã±â°¡ ±Ø´ÜÀûÀ¸·Î ¾î·Æ´Ù.
¸¸¾à stack traceback ¶Ç´Â memory ÀÇ ½ÃÇè¿¡¼ reports°¡ ¿ÀÁ÷ hexadecimal
·Î µÇ¾î ÀÖÀ¸¸é object file·Î ºÎÅÍ symbol tableÀÌ Á¦°ÅµÈ »óŰ¡ ¾Æ´ÑÁö
check ÇØº¸¾Æ¾ß ÇÑ´Ù.
symbol tableÀÇ Á¦°Å´Â UNIX strip command·Î °¡´ÉÇÏÁö¸¸ ÇѹøÁ¦°ÅµÈ
symbol tableÀº º¹±¸°¡ ºÒ°¡´É ÇÏ´Ù.
- Examining system crash dump postmortem files
--------------------------
| adb -k unix.X vmcore.X |
--------------------------
Solaris 1 system ¿¡¼´Â object fileÀº vmunix.X ÀÌ¸ç ¿©±â±â¼ X´Â savecore
programÀÌ ÇÒ´çÇÑ crash numberÀÌ´Ù.
Solaris 2 system¿¡¼´Â object fileÀº unix.X¶ó ºÒ¸®¸ç ¿©±â¼ÀÇ Xµµ savecore
¿¡ ÀÇÇØ ÇÒ´çµÈ crash numberÀÌ´Ù.
- Examining a live system:Solaris 1
--------------------------
| adb -k /vmunix /dev/mem |
--------------------------
¿©±â¿£ crash file ÀÌ ¾øÀ¸¸ç object file Àº bootingµÇ°í ½ÇÁ¦ÀûÀÎ ½ÇÇà kernel
ÀÎ /vmunix ÀÌ´Ù. core file ÀÎ /dev/mem Àº ÇöÀçÀÇ physical memoryÀÇ ³»¿ëÀÌ´Ù.
/dev directory ¿¡´Â µÎ°³ÀÇ memory fileÀÌ ÀÖ´Ù.
/dev/mem , /dev/kmem ÀÌ ±×°ÍÀÌ¸ç ¼·Î´Ù¸¥ ¸ñÀûÀ¸·Î adb¿Í ÇÔ²² ¿ÀÁ÷ ÇѰ¡Áö¸¸
¾²ÀδÙ.
/dev/kmem device fileÀº ÇöÀç running kernel ¿¡ ´ëÇÑ "kernel virtual memory"
·Î¼ kernel spaceÀÇ virtual address ¸¸ ¹Þ¾ÆµéÀδÙ.
/dev/mem device fileÀº actual physical memory¿¡ ´ëÀÀµÈ´Ù.
adb°¡ physical memory pagesÀÇ copy·Î ºÎÅÍ ¸¸µé¾îÁø core fileÀ» ãµµ·Ï µÇ¾î
Á³±â ¶§¹®¿¡ data ¸¦ À§Ä¡Çϱâ À§Çؼ ³»ºÎÀûÀ¸·Î physical ¿¡¼ virtual address
translations¸¦ ÀÚµ¿À¸·Î ¼öÇàÇÑ´Ù.±×·¯¹Ç·Î physical memory¿¡ ´ëÀÀµÇ´Â fileÀ»
adb ¿¡°Ô Á¦°øÇØ¾ß ÇÑ´Ù.
- Examining a live system:Solaris 2
-----------------------------
| adb -k /dev/ksyms /dev/mem |
-----------------------------
Solaris 2 systemÀº kernel level¿¡¼ Solaris 1 system°ú ¸Å¿ì´Ù¸£´Ù.
kernel Àº º¸´Ù moduleÈ µÇ¾î ´Ù¾çÇÑ Á¶°¢À¸·Î memory·Î ÀûÀçµÇ¸ç ±×°ÍÀÌ ²À
°°Àº directory °°Àº file¿¡¼ ¿Ã Çʿ䰡 ¾ø´Ù.
/kernel/unix ´Â Solaris 1 ÀÇ /vmunix file°ú °¡Àå ºñ½ÁÇÑ °ÍÀ¸·Î Àü°ú´Þ¸®
systemÀÇ heart¶Ç´Â "core" ÀÌ¸ç ´Ù¸¥ loadable moduleÀ̳ª device¿¡ ´ëÇÑ
symbolÀº Æ÷ÇÔÇÏÁö ¾Ê´Â´Ù.
»õ·Î¿î pseudo-device /dev/ksyms ´Â system¿¡ ÇöÀç ÀûÀçµÈ ¸ðµç moduleÀÇ symbol
table ¿¡ ´ëÀÀµÈ´Ù.
¶ÇÇÑ /dev/ksyms device °¡ open µÇ¾úÀ»¶§ ÀûÀçµÇÁö¾ÊÀº module·Î ºÎÅÍ moduleÀ»
º¸È£ÇÑ´Ù. À̰ÍÀº ¿ì¸®°¡ analyze ÇÏ´Â µ¿¾È symbol tableÀ» º¸ÁõÇØÁØ´Ù.
±×·¯³ª moduleÀÌ ¿ä±¸¿¡ ÀÇÇØ ÀûÀçµÈ ÀÌÈÄ·Î ¿ì¸®°¡ ¿©±âÀú±â µÚÁö´Â °¡¿îµ¥ ÀÌÀü¿¡
¿ä±¸µÇÁö ¾ÊÀº sections ¸¦ disk·ÎºÎÅÍ °¡Á®¿È¿¡ µû¶ó kernelÀº °è¼Ó size°¡ Ä¿Áú
°ÍÀÌ´Ù. ±×·¡¼ »õ·Î¿î symbolsÀÌ ´õÇØÁú °ÍÀ̳ª /dev/ksyms °¡ open µÇ¾î Àִµ¿¾È
¿¡Àü°ÍÀº »ç¶óÁöÁö ¾ÊÀ» °ÍÀÌ´Ù.
= Security issues
Solaris 1 system¿¡¼´Â group 2 ( /etc/group file¿¡ kmem group ) ¿¡ Ãß°¡µÇ¾îÁø
nonroot user´Â running kernel¿¡ adb¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸³ª, Solaris 2 system¿¡¼±
kernelÀ» ¼öÁ¤ÇÏ°í °Ë»çÇÒ ¼ö ÀÖµµ·Ï Çã°¡µÈ nonroot user´Â ¾ø´Ù.
Revision History
ÀÛ¼ºÀÏÀÚ :
ÀÛ¼ºÀÚ :
¼öÁ¤ÀÏÀÚ :
¼öÁ¤ÀÚ :