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 ÀÛ¼ºÀÏÀÚ : ÀÛ¼ºÀÚ : ¼öÁ¤ÀÏÀÚ : ¼öÁ¤ÀÚ :