gdb(1) GNU Tools gdb(1) À̸§ gdb - GNU µð¹ö°Å °³¿ä gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog[core|procID]] ¼³¸í GDB°°Àº µð¹ö°ÅÀÇ ¸ñÀûÀº ´Ù¸¥ ÇÁ·Î±×·¥ ¼öÇàÁß¿¡ ±× ÇÁ·Î±×·¥ ``³»ºÎ¿¡¼'' ¹«½¼ ÀÏÀÌ ÀϾ°í ÀÖ´ÂÁö º¸¿©Áְųª ÇÁ·Î±×·¥ÀÌ °íÀå³µÀ» ¶§ ¹«½¼ ÀÏÀÌ ÀϾ°í ÀÖ´ÂÁö º¸¿©ÁÖ´Â °ÍÀÌ´Ù. ¹ö±×¸¦ Àâ´Â °É µ½±âÀ§ÇØ GDB´Â ³×°¡Áö Á¾·ùÀÇ ÀÏ(´õ ¸¹Àº ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù)À» ÇÒ ¼ö ÀÖ´Ù: · ÇÁ·Î±×·¥ÀÇ Çൿ¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ´Â °¢Á¾ Á¶°ÇÀ» ¼³Á¤ÇÑ ÈÄ, ÇÁ·Î±×·¥À» ½ÃÀÛÇÑ´Ù. · ƯÁ¤ Á¶°ÇÀ» ¸¸³ª¸é ÇÁ·Î±×·¥À» Á¤Áö½ÃŲ´Ù. · ÇÁ·Î±×·¥ÀÌ Á¤ÁöµÆÀ» ¶§ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö °Ë»çÇÑ´Ù. · ÇÁ·Î±×·¥ ³»ºÎ ¼³Á¤À» ¹Ù²Ù¾î¼ ¹ö±×¸¦ ¼öÁ¤ÇÔÀ¸·Î½á ´Ù¸¥ ¹ö±×¸¦ °è¼Ó ã¾Æ³ª°£´Ù. GDB·Î C, C++, Modula-2·Î § ÇÁ·Î±×·¥À» µð¹ö±×ÇÒ ¼ö ÀÖ´Ù. GNU Æ÷Æ®¶õÀÌ ¿Ï¼ºµÇ¸é Æ÷Æ®¶õµµ Áö¿øÇÒ °ÍÀÌ´Ù. ½© ¸í·É¾î gdb·Î GDB¸¦ ±âµ¿ÇÑ´Ù. ÀÏ´Ü ½ÃÀ۵Ǹé, GDB ¸í·É quitÀ¸·Î Á¾·á¸í·ÉÀ» ÁÖ±âÀü±îÁö´Â Å͹̳¯·ÎºÎÅÍ ¸í·ÉÀ» ÀоîµéÀδÙ. help ¸í·ÉÀ» »ç¿ëÇÏ¿© gdb ³»ºÎ¿¡¼ ¿Â¶óÀÎ µµ¿ò¸»À» º¼ ¼ö ÀÖ´Ù. ÀÎÀÚ³ª ¿É¼Ç ¾øÀÌ gdb¸¦ ±âµ¿ÇÒ ¼ö ÀÖ´Ù; ÇÏÁö¸¸ °¡Àå ÀϹÝÀûÀÎ GDB ±âµ¿¹æ¹ýÀº Çϳª ¶Ç´Â µÎ°³ÀÇ ½ÇÇà°¡´É ÇÁ·Î±×·¥¸íÀ» ÀÎÀÚ·Î ÁÖ´Â °ÍÀÌ´Ù: gdb program ½ÇÇà°¡´É ÇÁ·Î±×·¥¸í°ú core ÆÄÀÏÀ» µ¿½Ã¿¡ ÀÎÀÚ·Î ÁÖ¾î ±âµ¿ÇÒ ¼öµµ ÀÖ´Ù: gdb program core GNU Tools 4nov1991 1 gdb(1) GNU Tools gdb(1) ½ÇÇàÁßÀÎ ÇÁ·Î¼¼½º¸¦ µð¹ö±×ÇÒ·Á¸é ´ë½Å ÇÁ·Î¼¼½º ID¸¦ µÎ¹ø° ÀÎÀÚ·Î ÁÖ¸éµÈ´Ù: gdb program 1234 ¸í·ÉÀº GDB¸¦ (`1234'¶õ À̸§ÀÇ ÆÄÀÏÀÌ ¾ø´Ù¸é) ÇÁ·Î¼¼½º 1234¿¡ Á¢¼Ó½ÃŲ´Ù(GDB´Â core ÆÄÀÏÀ» ¸ÕÀú ã´Â´Ù). ´ÙÀ½Àº °¡Àå ¸¹ÀÌ »ç¿ëµÇ´Â GDB ¸í·ÉµéÀÌ´Ù: break [file:]function (file¾ÈÀÇ) function¿¡ Á¤ÁöÁ¡À» ¼³Á¤ÇÑ´Ù. run [arglist] (ÁöÁ¤µÇ¾ú´Ù¸é, arglist¸¦ °¡Áö°í) ÇÁ·Î±×·¥À» ½ÃÀÛÇÑ´Ù. bt ¿ªÃßÀû(backtrace):ÇÁ·Î±×·¥ ½ºÅÃÀ» º¸¿©ÁØ´Ù. print expr ¼ö½ÄÀÇ °ªÀ» º¸¿©ÁØ´Ù. c (Á¤ÁöÁ¡µî¿¡¼ Á¤ÁöÇÑ) ÇÁ·Î±×·¥À» °è¼Ó ¼öÇàÇÑ´Ù. next (Á¤ÁöÇÑ ÈÄ) ´ÙÀ½ ÇàÀ» ¼öÇàÇÑ´Ù; ±× Çà¿¡¼ È£ÃâµÇ´Â ÇÔ¼ö¸¦ ¼öÇàÇÏÁö¾Ê°í °Ç³Ê¶Ú´Ù. step (Á¤ÁöÇÑ ÈÄ) ´ÙÀ½ ÇàÀ» ¼öÇàÇÑ´Ù; ±× Çà¿¡¼ È£ÃâµÇ´Â ÇÔ¼ö¸¦ ¼öÇàÇÑ´Ù. help [name] GDB ¸í·É¾î name¿¡ ´ëÇÑ Á¤º¸¸¦ º¸¿©°Å³ª GDB »ç¿ë¿¡ °üÇÑ ÀϹÝÀûÀÎ Á¤º¸¸¦ º¸¿©ÁØ´Ù. quit GDB¿¡¼ ºüÁ®³ª°£´Ù. GDB¿¡ ´ëÇÑ »ó¼¼ÇÑ Á¤º¸¸¦ ¾Ë°í½ÍÀ¸¸é Richard M. Stallman°ú Roland H. Pesch°¡ ¾´ Using GDB: A Guide to the GNU Source-Level Debugger¸¦ º¸¶ó. µ¿ÀÏÇÑ ³»¿ëÀÌ infoÀÇ gdb Ç׸ñ¿¡ ³ª¿Â´Ù. ¿É¼Ç ¿É¼Ç ÀÌ¿ÜÀÇ ¸ðµç ÀÎÀÚ´Â ½ÇÇà°¡´É ÆÄÀÏ°ú core ÆÄÀÏ(¶Ç´Â ÇÁ·Î¼¼½º ID)·Î ÀνĵȴÙ; Áï ¿É¼Ç Ç÷¡±× ¾ø´Â ù¹ø° ÀÎÀÚ´Â `-se' ¿É¼Ç°ú °°°í, µÎ¹ø° ÀÎÀÚ´Â, Á¸ÀçÇÑ´Ù¸é, `-c' ¿É¼Ç°ú °°´Ù(ÀÎÀÚ°¡ ÆÄÀÏÀ̸§ÀÎ °æ¿ì). ¸¹Àº ¿É¼Ç¿¡ ªÀº Çü½Ä°ú ±ä Çü½ÄÀÌ Àִµ¥; µÑ´Ù ¾Æ·¡¿¡ ¼³¸íµÈ´Ù. ±ä ¿É¼ÇÀº ÀϺθ¸ ½áµµ ¾Ö¸ÅÇÏÁö ¾ÊÀ¸¸é ÀνĵȴÙ. (´ç½ÅÀÌ ±×·¸°Ô ÇÏ°í½Í´Ù¸é, `-'´ë½Å `+'·Î ¿É¼ÇÀ» ³ªÅ¸³¾ ¼öµµ ÀÖ´Ù. ¿ì¸° ÀϹÝÀû °ü·ÊÀÎ -¸¦ ¾²°Ú´Ù) GNU Tools 4nov1991 2 gdb(1) GNU Tools gdb(1) ¸ðµç ¿É¼Ç°ú ¸í·ÉÇà ÀÎÀÚµéÀº ¼øÂ÷ÀûÀ¸·Î 󸮵ȴÙ. `-x'¿É¼ÇÀ» »ç¿ëÇÒ °æ¿ì ¼ø¼°¡ ´Ù¸£¸é °á°úµµ ´Ù¸£´Ù. -help -h ¸ðµç ¿É¼ÇÀ» ªÀº ¼³¸í°ú ÇÔ²² º¸¿©ÁØ´Ù. -symbols=file -s file file·ÎºÎÅÍ ½Éº¼ Å×À̺íÀ» ÀоîµéÀδÙ. -exec=file -e file Àû´çÇÏ´Ù¸é ½ÇÇàÆÄÀÏ·Î fileÀ» »ç¿ëÇÏ¿© core dumpÀÇ ³»¿ëÀ» °Ë»çÇÑ´Ù. -se=file file·ÎºÎÅÍ ½Éº¼ Å×À̺íÀ» ÀоîµéÀÌ°í ¶ÇÇÑ ½ÇÇàÆÄÀÏ·Î »ç¿ëÇÑ´Ù. -core=file -c file fileÀ» °Ë»çÇÒ core dump·Î »ç¿ëÇÑ´Ù. -command=file -x file file¾ÈÀÇ GDB ¸í·ÉÀ» ¼öÇàÇÑ´Ù. -directory=directory -d directory ¼Ò½º ÆÄÀÏ °Ë»ö °æ·Î¿¡ directory¸¦ Ãß°¡ÇÑ´Ù. -nx -n ÃʱâÈ ÆÄÀÏ `.gdbinit'ÀÇ ¸í·ÉÀ» ¼öÇàÇÏÁö¾Ê´Â´Ù. º¸Åë ¸ðµç ¿É¼Ç°ú ÀÎÀÚ°¡ ó¸®µÈ ÈÄ ÃʱâÈ ÆÄÀÏÀÇ ¸í·ÉÀÌ ½ÇÇàµÈ´Ù. GNU Tools 4nov1991 3 gdb(1) GNU Tools gdb(1) -quiet -q ``Á¶¿ëÈ÷ÇØ''. µµÀÔ ¸Þ½ÃÁö¿Í ÀúÀÛ±Ç ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÏÁö¾Ê´Â´Ù. ¹èÄ¡ ¸ðµå¿¡¼µµ ÀÌµé ¸Þ½ÃÁö´Â Ãâ·ÂµÇÁö¾Ê´Â´Ù. -batch ¹èÄ¡ ¸ðµå·Î ¼öÇàÇÑ´Ù. `-x' ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÑ ÆÄÀÏ(±×¸®°í ±ÝÁöµÇÁö¾Ê¾Ò´Ù¸é, `.gdbinit' ÆÄÀÏ)ÀÇ ¸í·ÉµéÀ» ¼öÇàÇÑ ÈÄ Á¾·á»óÅ 0À¸·Î Á¾·áÇÑ´Ù. ÆÄÀÏÀÇ GDB ¸í·ÉÀ» ¼öÇàÇÏ´ø Áß ¿À·ù°¡ ¹ß»ýÇϸé 0ÀÌ ¾Æ´Ñ Á¾·á»óÅ·ΠÁ¾·áÇÑ´Ù. ÇÁ·Î±×·¥À» ³»·Á¹Þ¾Æ¼ ´Ù¸¥ ÄÄÇ»ÅÍ¿¡¼ ½ÇÇàÇÏ´Â °æ¿ìµî¿¡, GDB¸¦ ÇÊÅÍ·Î »ç¿ëÇÒ ¼ö Àִµ¥ À̶§ ¹èÄ¡ ¸ðµå°¡ À¯¿ëÇÏ´Ù; ÀÌ ¸ðµå°¡ ´õ ¾µ¸ðÀÖµµ·Ï, GDBÇÏ¿¡¼ ¼öÇàµÇ´ø ÇÁ·Î±×·¥ÀÌ Á¾·áµÇ¸é ³ª¿À´Â Program exited normally. À̶õ ¸Þ½ÃÁö°¡ ¹èÄ¡ ¸ðµå¿¡¼´Â ³ª¿ÀÁö ¾Ê´Â´Ù. -cd=directory ÇöÀç µð·ºÅ丮 ´ë½Å directory¸¦ ÀÛ¾÷ µð·ºÅ丮·Î ÇÏ¿© GDB¸¦ ¼öÇàÇÑ´Ù. -fullname -f À̸ƽºÀÇ ¼ºêÇÁ·Î¼¼½º·Î GDB°¡ ¼öÇàµÉ ¶§ ÀÌ ¿É¼ÇÀÌ ÄÑÁø´Ù. ÀÌ ¿É¼ÇÀÌ ÄÑÁö¸é GDB´Â Àüü ÆÄÀÏÀ̸§°ú Çà¹øÈ£¸¦, ½ºÅà ÇÁ·¹ÀÓÀ» µð½ºÇ÷¹ÀÌÇÒ ¶§¸¶´Ù(ÇÁ·Î±×·¥ÀÌ Á¤ÁöµÇ´Â °æ¿ìµµ ¿©±â¿¡ ÇØ´çµÈ´Ù) Ç¥ÁØÀûÀÌ°í ¾Ë¾Æº¼ ¼ö ÀÖ´Â ¾ç½ÄÀ¸·Î Ãâ·ÂÇÑ´Ù. ÀÌ ¾ç½ÄÀº ` 32'µÚ¿¡ ÆÄÀÏÀ̸§, ÄÝ·ÐÀ¸·Î ±¸ºÐµÈ Çà¹øÈ£¿Í ¹®ÀÚÀ§Ä¡, °³Ç๮ÀÚ°¡ ¿À´Â °ÍÀÌ´Ù. À̸ƽº-GDB Á¢¼ÓÇÁ·Î±×·¥Àº ` 32'¸¦ ÇÁ·¹ÀÓÀÇ ¼Ò½ºÄڵ带 µð½ºÇ÷¹ÀÌÇ϶õ ½ÅÈ£·Î »ç¿ëÇÑ´Ù. -b bps ¿ø°Ý µð¹ö±ë¿¡ »ç¿ëµÇ´Â Á÷·Ä ÀÎÅÍÆäÀ̽ºÀÇ È¸¼±¼Óµµ(º¸¿ÀÀ²À̳ª ÃÊ´ç ºñÆ®¼ö)¸¦ ¼³Á¤ÇÑ´Ù. GNU Tools 4nov1991 4 gdb(1) GNU Tools gdb(1) -tty=device device¸¦ Ç¥ÁØÀԷ°ú Ç¥ÁØÃâ·ÂÀ¸·Î ÇÏ¿© ÇÁ·Î±×·¥À» ½ÇÇàÇÑ´Ù. °ü·Ã Ç׸ñ infoÀÇ `gdb' Ç׸ñ; Using GDB: A Guide to the GNU Source- Level Debugger, ÀúÀÚ: Richard M. Stallman, Roland H. Pesch, July 1991. ÀúÀÛ±Ç Copyright (c) 1991 Free Software Foundation, Inc. ÀúÀÛ±Ç Ç¥½Ã¿Í ÀÌ Çã¶ô¹®ÀÌ ¸ðµç »çº»¿¡ ½Ç¸°´Ù´Â Á¶°ÇÇÏ¿¡, ÀÌ ¸Å´º¾óÀ» º¯°æ¾øÀÌ º¹»çÇÏ°í ¹èÆ÷ÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù. ±×·ÎºÎÅÍ ³ª¿Â ¸ðµç »êÃâ¹°ÀÌ º» Çã¶ô¹®°ú µ¿ÀÏÇÑ Á¶°ÇÇÏ¿¡ ¹èÆ÷µÈ´Ù¸é, º» ¸Å´º¾óÀ» ¼öÁ¤ÇÏ¿© º¹»ç¹èÆ÷ÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù. ¿µ¾î°¡ ¾Æ´Ï¶ó Free Software FoundationÀÌ °øÀÎÇÑ ¹ø¿ª¹®À¸·Î º» Çã¶ô¹®ÀÌ Æ÷Ç﵃ ¼ö ÀÖ´Ù´Â Á¡À» Á¦¿ÜÇÏ°í À§¿Í °°Àº Á¶°ÇÇÏ¿¡, º» ¸Å´º¾óÀ» ´Ù¸¥ ¾ð¾î·Î ¹ø¿ªÇÏ¿© º¹»ç¹èÆ÷ÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù. GNU Tools 4nov1991 5