Go to the first, previous, next, last section, table of contents.


ÀԷµǴ °Í°ú ¸ÅÅ©·Î¸¦ µð¹ö±ë ÇÏ´Â ¹æ¹ý

m4¿¡¼­ ¸ÅÅ©·Î¸¦ ÀÛ¼ºÇÒ ¶§, ±×°ÍµéÀÌ ÀǵµÇß´ø ´ë·Î ÀÛµ¿ÇÏ´Â °æ¿ì´Â µå¹° °ÍÀÌ´Ù. (´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ °æ¿ì¿¡µµ ¸¶Âù°¡ÁöÀ̱ä ÇÏ´Ù.) m4¿¡¼­ µð¹ö±ëÇÏ´Â °ÍÀ» À§ÇÑ ¾à°£ÀÇ Áö¿øÀÌ ÀÖ´Ù.

¸ÅÅ©·Î Á¤ÀǸ¦ º¸±â

¸ÅÅ©·Î ¸íĪÀÌ ¾î¶»°Ô È®ÀåµÇ´ÂÁö ±× Á¤ÀǸ¦ ³»Àå ¸ÅÅ©·ÎÀÎ dumpdef¸¦ »ç¿ëÇÏ¿© º¼ ¼ö ÀÖ´Ù.

dumpdef(...)

ÀÎÀÚÀÇ ¼ö¿¡´Â Á¦ÇÑÀÌ ¾ø´Ù. ¾Æ¹«·± ÀÎÀÚµµ ¾øÀÌ È£ÃâÇÑ´Ù¸é, ±×°ÍÀº ÇöÀç ¾Ë·ÁÁ® ÀÖ´Â ¸ðµç ¸íĪÀÇ Á¤ÀǸ¦ º¸¿© ÁÙ °ÍÀÌ´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â ÀÎÀÚ·Î ÁÖ¾îÁø ¸íĪÀÇ Á¤ÀǸ¸ º¸¿©ÁØ´Ù. Ãâ·ÂÀº °ð¹Ù·Î Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀ¸·Î ÂïÇô ³ª¿Â´Ù.

dumpdef´Â È®ÀåµÇÁö ¾Ê´Â´Ù.

define(`foo', `Hello world.')
=>
dumpdef(`foo')
error-->foo:	`Hello world.'
=>
dumpdef(`define')
error-->define:	<define>
=>

¸¶Áö¸· ¿¹´Â ³»Àå ¸ÅÅ©·Î Á¤ÀǸ¦ º¸¿©ÁÖ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.

Ç¥½ÃÇϱ⸦ Á¦¾îÇÏ´Â °Í¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â See section µð¹ö±ë Ãâ·ÂÀ» Á¦¾îÇϱâ.

¸ÅÅ©·Î È£ÃâÀ» ÃßÀûÇϱâ

¸ÅÅ©·Î È£Ãâ°ú È®ÀåµÇ´Â °ÍÀ» ³»Àå ¸ÅÅ©·Î traceon°ú traceoff¸¦ »ç¿ëÇÏ¿© ÃßÀûÇÒ ¼ö ÀÖ´Ù.

traceon(...)
traceoff(...)

¾Æ¹«·± ÀÎÀÚµµ ¾øÀÌ È£ÃâÇÑ´Ù¸é, traceon°ú traceoff´Â Á¤ÀÇµÈ ¸ðµç ¸ÅÅ©·Î¿¡ ´ëÇÑ ÃßÀû ±â´ÉÀ» °¢°¢ ÄѰųª ²ø °ÍÀÌ´Ù. ÀÎÀÚ¸¦ Á־ È£ÃâÇÑ´Ù¸é ÇØ´ç ¸ÅÅ©·Î¸¸ ¿µÇâÀ» ¹Þ´Â´Ù.

traceon°ú traceoff´Â È®ÀåµÇÁö ¾Ê´Â´Ù.

ÃßÀûµÇ´Â ¸ÅÅ©·Î°¡ È£ÃâµÇ¸é ÀÎÀÚµéÀÌ ¼öÁýµÈ ÈÄ¿¡ ±× È£ÃâÀÌ Ç¥½ÃµÈ´Ù. ¸ÅÅ©·Î È£ÃâÀÇ °á°ú·Î È®ÀåµÇ´Â °ÍÀÌ ÀÖ´Ù¸é È£ÃâÀÌ µÈ ÈÄ¿¡ ±× È®ÀåµÈ °á°ú¸¦ Ç¥½ÃÇÑ´Ù. ±× Ãâ·ÂÀº °ð¹Ù·Î Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀ¸·Î ÂïÈù´Ù.

define(`foo', `Hello World.')
=>
define(`echo', `$@')
=>
traceon(`foo', `echo')
=>
foo
error-->m4trace: -1- foo -> `Hello World.'
=>Hello World.
echo(gnus, and gnats)
error-->m4trace: -1- echo(`gnus', `and gnats') -> ``gnus',`and gnats''
=>gnus,and gnats

ÁÙ¹®ÀÚ(`-') »çÀÌÀÇ ¼ýÀÚ´Â È®ÀåÀÇ ´Ü°è ±íÀ̸¦ ³ªÅ¸³½´Ù. ÀÌ°ÍÀº ´ëºÎºÐÀÇ °æ¿ì¿¡ 1À̸ç, ÃÖ¿Ü°û ´Ü°èÀÇ È®ÀåÀÓÀ» ³ªÅ¸³½´Ù. ±×·¯³ª ¸ÅÅ©·ÎÀÇ ÀÎÀÚ°¡, µû¿ÈÇ¥·Î ¹­Áö ¾ÊÀº ¸ÅÅ©·Î È£ÃâÀ» Æ÷ÇÔÇÒ ¶§¿¡´Â Áõ°¡ÇÒ ¼ö ÀÖ´Ù.

Ç¥½Ã¸¦ Á¦¾îÇÏ´Â °Í¿¡ °üÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â See section µð¹ö±ë Ãâ·ÂÀ» Á¦¾îÇϱâ

µð¹ö±ë Ãâ·ÂÀ» Á¦¾îÇϱâ

m4¸¦ ½ÇÇàÇÒ ¶§¿¡ ¸í·ÉÇà¿¡ ÁÖ´Â `-d' ¿É¼ÇÀº, ¾Õ Àý¿¡¼­ ¼³¸íÇÑ ¸ÅÅ©·ÎµéÀ» »ç¿ëÇÒ ¶§¿¡ ¾ó¸¶³ª ÀÚ¼¼ÇÏ°Ô Á¤º¸¸¦ Ç¥½ÃÇÒÁö¸¦ Á¦¾îÇÑ´Ù.

±× ¿É¼Ç ´ÙÀ½¿¡ Àû´Â flag °ªÀ¸·Î´Â ´ÙÀ½¿¡ ³ª¿À´Â °Íµé Áß¿¡¼­ Çϳª ÀÌ»óÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

t
À̹øÀÇ m4 ÇÁ·Î±×·¥ È£Ãâ¿¡¼­ ÀÌ·ç¾îÁö´Â ¸ðµç ¸ÅÅ©·Î È£ÃâÀ» ÃßÀûÇÑ´Ù.
a
°¢°¢ÀÇ ¸ÅÅ©·Î È£Ãâ¿¡¼­ ½ÇÁ¦·Î ÁÖ¾îÁö´Â ÀÎÀÚ¸¦ º¸¿©ÁØ´Ù. `t' flag¿Í °°ÀÌ »ç¿ëµÈ °æ¿ì¿¡´Â ¸ðµç ¸ÅÅ©·Î È£Ãâ¿¡ Àû¿ëµÇ°í, ¾Æ´Ï¸é traceonÀ» È£ÃâÇÒ ¶§¿¡ ÁöÁ¤µÈ ¸ÅÅ©·Î¿¡¸¸ Àû¿ëµÈ´Ù.
e
È®ÀåµÇ´Â ¸ÅÅ©·Î¶ó¸é °¢ ¸ÅÅ©·Î È£Ãâ¿¡¼­ È®ÀåµÇ´Â °á°ú¸¦ º¸¿©ÁØ´Ù. `t' flag°¡ »ç¿ëµÇ¾ú´Ù¸é ¸ðµç ¸ÅÅ©·Î È£Ãâ¿¡ Àû¿ëµÇ°í, ¾Æ´Ï¸é traceonÀ» È£ÃâÇÒ ¶§¿¡ ÁöÁ¤µÈ ¸ÅÅ©·Î¿¡¸¸ Àû¿ëµÈ´Ù.
q
ÇöÀç ÁöÁ¤µÈ ÀοëºÎÈ£¸¦ »ç¿ëÇÏ¿©, È£Ãâ½Ã¿¡ ÁÖ¾îÁø ÀÎÀÚ¿Í ¸ÅÅ©·Î È®ÀåÀ» µÑ·¯½Î¼­ Ç¥½ÃÇÑ´Ù.
c
°¢°¢ÀÇ ¸ÅÅ©·Î È£Ãâ´ç ¿©·¯ ÁÙÀÇ ÃßÀû»çÇ×À» º¸¿©ÁØ´Ù. ù ¹ø° ÁÙÀº ¸ÅÅ©·Î°¡ ¹ß°ßµÇ¾úÁö¸¸ ¾ÆÁ÷ ±× ÀÎÀÚ°¡ ¼öÁýµÇÁö ¾ÊÀº ´Ü°è¿¡¼­ Ç¥½ÃµÇ°í, µÑ° ÁÙÀº ±× ÀÎÀÚ°¡ ¼öÁýµÇ¾úÀ» ¶§, ¼Â° ÁÙÀº È£ÃâÀÌ ¿Ï·áµÈ ÈÄ¿¡ Ç¥½ÃµÈ´Ù.
x
Ãâ·ÂµÇ´Â ÁÙ¸¶´Ù °¢°¢ À¯ÀϹ«ÀÌÇÑ '¸ÅÅ©·Î È£Ãâ ¾ÆÀ̵ð'¸¦ º¸¿©ÁØ´Ù. ÀÌ°ÍÀº À§¿¡¼­ ¼³¸íÇÑ `c' Ç÷¡±×¿Í ÇÔ²² »ç¿ëÇϸé À¯¿ëÇÏ´Ù.
f
°¢°¢ÀÇ ÃßÀû Ãâ·Â ÁÙ¸¶´Ù ÇöÀçÀÇ ÀÔ·Â ÆÄÀÏÀÇ À̸§À» µ¡ºÙÀδÙ.
l
°¢°¢ÀÇ ÃßÀû Ãâ·Â ÁÙ¸¶´Ù ÇöÀçÀÇ ÀÔ·ÂÀÇ ÁÙ ¹øÈ£¸¦ µ¡ºÙÀδÙ.
p
ÁöÁ¤ÇÑ ÆÄÀÏÀÌ °æ·Î °Ë»ö ¸ÞÄ«´ÏÁò(see section »ðÀÔÇÒ ÆÄÀÏ °Ë»öÇϱâ)À» ½á¼­ ¹ß°ßµÇ¾ú´Ù¸é, ½ÇÁ¦·Î »ç¿ëµÇ´Â ÆÄÀÏÀ̸§À» Ãâ·ÂÇÑ´Ù.
i
ÇöÀçÀÇ ÀÔ·Â ÆÄÀÏÀÌ ¹Ù²ð ¶§¸¶´Ù ÆÄÀÏ À̸§°ú ÀÔ·Â ÁÙ ¹øÈ£°¡ ´ã±ä ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÑ´Ù.
V
ÀÌ Ç÷¡±×¸¦ ¾²¸é, À§¿¡¼­ ¼³¸íÇÑ Ç÷¡±×µéÀÌ ¸ðµÎ ÇѲ¨¹ø¿¡ ÁöÁ¤µÈ´Ù.

`-d' ¿É¼Ç¿¡ ¾Æ¹«·± Ç÷¡±×µµ ÁöÁ¤ÇÏÁö ¾Ê¾Ò´Ù¸é, µðÆúÆ®·Î `aeq'·Î ÁöÁ¤µÈ´Ù. À§¿¡¼­ ¼³¸íÇÑ µÎ Àý¿¡¼­ÀÇ ¿¹Á¦´Â µðÆúÆ® Ç÷¡±×°¡ ÁöÁ¤µÇ¾î ÀÖ´Ù°í °¡Á¤Çß´Ù.

³»Àå ¸ÅÅ©·ÎÀÎ debugmode´Â µð¹ö±ë Á¤º¸ÀÇ Ãâ·Â ¾ç½ÄÀ» ½ÇÇà Áß¿¡ ¹Ù²Ù´Â ¿ªÇÒÀ» ÇÑ´Ù.

debugmode(opt flags)

¿©±â¼­ flags ÀÎÀÚ´Â À§¿¡¼­ ¼³¸íÇÑ ¹®ÀÚµéÀÇ ºÎºÐ ÁýÇÕÀ̾î¾ß ÇÑ´Ù. Ưº°ÇÑ °æ¿ì·Î, ÀÎÀÚ°¡ `+'·Î ½ÃÀÛÇÑ´Ù¸é, ±× Ç÷¡±×µéÀº ÇöÀçÀÇ µð¹ö±× Ç÷¡±×¿¡ Ãß°¡µÈ´Ù. ±×¸®°í `-'·Î ½ÃÀÛÇÑ´Ù¸é ±× Ç÷¡±×µéÀº Á¦°ÅµÈ´Ù. ¾Æ¹«·± ÀÎÀÚµµ ¾ø´Ù¸é, µð¹ö±ë Ç÷¡±×´Â ¾Æ¹«°Íµµ ¾ø°Ô µÈ´Ù. (`-d' ¿É¼ÇÀ» ÁÖÁö ¾ÊÀº °Íó·³ µÈ´Ù.) ±×¸®°í ÅÖ ºó ÀÎÀÚ¸¦ ÁÖ¸é Ç÷¡±×¸¦ µðÆúÆ® °ªÀ¸·Î Àç¼³Á¤ÇÏ°Ô µÈ´Ù.

µð¹ö±ë Ãâ·ÂÀ» ÀúÀåÇϱâ

µð¹ö±ë Á¤º¸¿Í ÃßÀû Á¤º¸´Â m4¿¡ `-o' ¿É¼ÇÀ» Á༭ ÆÄÀÏ·Î Ãâ·ÂÀ» ÀçÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¶Ç´Â ³»Àå ¸ÅÅ©·ÎÀÎ debugfileÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

debugfile(opt filename)

ÀÌ·¸°Ô Çϸé ÀÌÁ¦ºÎÅÍ ¸ðµç µð¹ö±ë°ú ÃßÀû ¸Þ½ÃÁöÀÇ Ãâ·ÂÀ» filenameÀ¸·Î º¸³½´Ù. filenameÀ» ºñ¿ö ³õÀ¸¸é, µð¹ö±ë°ú ÃßÀû Ãâ·ÂÀº »ç¶óÁö°Ô µÇ¸ç ¸¸¾à debugfileÀÌ ¾Æ¹«·± ÀÎÀÚµµ ¾øÀÌ È£ÃâµÇ¾ú´Ù¸é, µð¹ö±ë°ú ÃßÀû Ãâ·ÂÀº Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀ¸·Î º¸³»Áø´Ù.


Go to the first, previous, next, last section, table of contents.