19. ¿À·ù ¼öÁ¤ ¹æ¹ý(Debugging hints)

»ç¿ë ¼ÒÇÁÆ®¿þ¾î¸¦ °³¹ßÇÒ ¶§ µå´Â ½Ã°£ÀÇ 90%´Â ¿À·ù¸¦ ¼öÁ¤ÇÏ°í °Ë»çÇϴµ¥ µé¾î°£´Ù. µû¶ó¼­ óÀ½¿¡ code¸¦ Àß ¾²´Â °ÍÀÌ ¾ó¸¶³­ Áß¿äÇÑÁö ¾Ë ¼ö ÀÖ´Ù.

±×·¯³ª ¿©ÀüÈ÷ ¿©±âÀú±â¼­ ¿À·ù bugs¸¦ º¼ ¼ö ÀÖ´Ù. ´ÙÀ½Àº ÀÌ ¿À·ù¸¦ ¾Ë¾Æ³»´Â ¹æ¹ýÀÌ´Ù.

¾µ¸¸ÇÑ compilerÀÇ ¼±Åà »ç¾ç (Useful compiler options)

´ëºÎºÐÀÇ Fortran compiler¿¡´Â ¿øÇÒ ¶§ ÀÛµ¿Çϵµ·ÏÇÒ ¼ö ÀÖ´Â ¼±Åà »ç¾ç µéÀÌ ÀÖ´Ù. ´ÙÀ½Àº Sun Fortran 77 compilerÀÇ compiler ¼±Åà »ç¾çÀÌÁö¸¸ ´ëºÎºÐÀÇ compiler¿¡ (±ÛÀÚ´Â ´Ù¸£´õ¶óµµ)ºñ½ÁÇÑ ¼±Åà »ç¾çÀÌ ÀÖ´Ù.
-ansi
ÇÁ·Î±×·¥ Áß¿¡ Ç¥ÁØ Fortran 77 È®Àå¾ÈÀÌ ¾Æ´Ñ °ÍÀÌ ÀÖÀ¸¸é °æ°íÇÑ´Ù.
-u
type¿¡ °üÇÑ implicit ±ÔÄ¢À» ¹«½ÃÇÏ°í ¸ðµç º¯¼ö¸¦ Ãʱ⿡ ¼±¾ðÇÏÁö ¾ÊÀº °ÍÀ¸·Î °£ÁÖÇÑ´Ù. compiler¿¡ ÀÌ·± ¼±Åà »ç¾çÀÌ ¾ø´Ù¸é ´ÙÀ½°ú °°Àº ¼±¾ðÀ» °¢ (ºÎ)ÇÁ·Î±×·¥ÀÇ Ã³À½¿¡ ´õÇÏ¸é °°Àº È¿°ú¸¦ º¼ ¼ö ÀÖ´Ù.
      implicit none (a-z)
-C
¹è¿­ÀÇ ³¡À» È®ÀÎÇÑ´Ù. ¹è¿­ ¹Ù±ùÀÇ ¿ø¼Ò¸¦ »ç¿ëÇÏ°íÀÚ ÇÒ ¶§ À̸¦ ¾Ë¾Æ³½´Ù. ±×·¯³ª ¸ðµç À߸øÀ» ¾Ë¾Æ ³¾ ¼ö´Â ¾ø´Ù.

ÈçÇÑ ½Ç¼ö(Some common errors)

´ÙÀ½Àº ÈçÈ÷ º¼ ¼ö ÀÖ´Â À߸øµéÀÌ´Ù.

¿À·ù ¼öÁ¤ µµ±¸(Debugging tools)

¿À·ù°¡ ÀÖ´Ù¸é ¾î´À °÷ÀÎÁö ¾Ë¾Æ¾ß ÇÑ´Ù. ¹®¹ø ¿À·ù´Â ½±°Ô ãÀ» ¼ö ÀÖ´Ù. ¹®Á¦´Â ½ÇÁ¦ ÇÁ·Î±×·¥ ¼öÇà½Ã ¿À·ù(run-time error)ÀÌ´Ù. ¿À·ù¸¦ ã´Â ±¸½Ä ¹æ¹ýÀº code¿¡ write ¹®À» ´õÇÏ¿© º¯¼öÀÇ °ªÀ» ÃßÀûÇÏ´Â °ÍÀÌ´Ù. ÇÁ·Î±×·¥À» ¾à°£ ¹Ù²Ü ¶§¸¶´Ù »õ·Î compileÇÏ¿©¾ß Çϱ⿡ Áö°Ü¿î ÀÏÀÌ´Ù. ¿À´Ã³¯¿¡´Â Ưº°ÇÑ ¿À·ù ¼öÁ¤ ÇÁ·Î±×·¥ debuggers¸¦ »ç¿ëÇÒ ¼ö Àִµ¥ ÀÌ´Â Æí¸®ÇÑ µµ±¸ÀÌ´Ù. ÇÁ·Î±×·¥À» ÇÑ ÁÙ ÇÑ ÁÙ ¼öÇà½ÃÅ°°Å³ª Á¤ÁöÁ¡(break point)¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ°í ÁöÄÑ º¸°íÀÚÇÏ´Â º¯¼öÀÇ °ªÀ» ºñÃç º¸´Âµî ¿©·¯ °¡Áö¸¦ ÇÒ ¼ö ÀÖ´Ù.


[Fortran Tutorial]
Ãæ³²´ëÇб³ ¹°¸®Çаú ¿À º´¼º