DirectX Graphics ·¹ÆÛ·±½º ¼ÎÀÌ´õ ·¹ÆÛ·±½º ¼ÎÀÌ´õ µð¹ö°Å   [¸ñÂ÷¿­¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
¼ÎÀÌ´õ µð¹ö°Å
 
Microsoft DirectX 9.0

¼ÎÀÌ´õ µð¹ö°Å


Microsoft® Visual Studio® . NET ´Â, ¾î¼Àºí¸® ·¹º§ÀÇ »óÀ§ ·¹º§ ¾ð¾î·Î Á¤Á¡ ¼ÎÀÌ´õ ¹× Çȼ¿ ¼ÎÀÌ´õÀÇ µð¹ö±×¸¦ Áö¿ø ÇÑ´Ù.

DirectX Extensions for Visual Studio . NET

µð¹ö°Å´Â, µð¹ö±× ¹öÀüÀÇ ·±Å¸ÀÓ ¹× ƯÁ¤ÀÇ ÀåÄ¡ ŸÀÔÀ¸·Î ±â´ÉÇÑ´Ù. ·¹ÆÛ·±½º ÀåÄ¡¸¦ »ç¿ëÇϸé ÀÓÀÇÀÇ Á¤Á¡ ¼ÎÀÌ´õ ¶Ç´Â Çȼ¿ ¼ÎÀÌ´õ¸¦ µð¹ö±× ÇÒ ¼ö ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î Á¤Á¡ 󸮿ëÀÇ Çϵå¿þ¾î Ãß»ó °èÃþ (HAL) ÀåÄ¡»ó¿¡¼­ ½ÇÇàÇϰí ÀÖÀ¸¸é, Á¤Á¡ ¼ÎÀÌ´õ¸¦ µð¹ö±× ÇÒ ¼ö ÀÖ´Ù. Çϵå¿þ¾î Á¤Á¡ ó¸® ¹× "Ç»¾î" ÀÎ HAL ÀåÄ¡¿¡ ´ëÇØ¼­´Â, µð¹ö±×´Â Áö¿øÇÏÁö ¾Ê´Â´Ù. ÀåÄ¡ ŸÀÔÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸D3DDEVTYPE ¡¹¸¦ ÂüÁ¶ÇÒ°Í.

µð¹ö±× Á¤º¸¸¦ »ç¿ëÇÑ ºôµå

¼ÎÀÌ´õ¸¦ ¼Ò½º ·¹º§·Î µð¹ö±× ÇÏ·Á¸é , ¼ÎÀÌ´õ¸¦ µð¹ö±× Á¤º¸¸¦ »ç¿ëÇØ ºôµå ÇØ, µð½ºÅ© À§¿¡ÀÇ ¼Ò½º ÆÄÀϰú °ü·ÃÁþ°í ÇÒ Çʿ䰡 ÀÖ´Ù. ±×·¯ÇÑ ¼ÎÀÌ´õ¸¦ »ý¼º ÇÏ´Â ¹æ¹ý¿¡´Â, ´ÙÀ½ÀÇ 2 Åë°úÇØ ¹æ¹ýÀÌ ÀÖ´Ù.

µð¹ö°ÅÀÇ ±âµ¿

¾ÖÇø®ÄÉÀ̼ÇÀ» µð¹ö±× ÇÏ·Á¸é , ±× ¾ÖÇø®ÄÉÀ̼ÇÀÌ µð¹ö±× ¹öÀüÀÇ Microsoft Direct3D® ·±Å¸ÀÓÀ» »ç¿ëÇϰí ÀÖ¾î, ¼ÎÀÌ´õ µð¹ö±×°¡ À¯È¿ÇÏ°Ô µÇÁö ¾ÊÀ¸¸é ¾È µÈ´Ù. ÀÌ·¯ÇÑ ¿É¼ÇÀº, Microsoft DirectX® ÄÁÆ®·Ñ ÆÐ³Î ¾ÖÇø´ÀÇ [Direct3D] ÅÇÀ¸·Î ±¸¼ºÇÒ ¼ö ÀÖ´Ù. Ÿ°Ù ÄÄÇ»ÅÍ¿¡¼­´Â, DirectX Debug Service µµ ½ÇÇàµÇ°í ÀÖÀ» Çʿ䰡 ÀÖ´Ù. ÀÌ ¼­ºñ½º´Â, DirectX extensions for Visual Studio . NET ¸¦ ÀνºÅç Çϸé, ÀÚµ¿ÀûÀ¸·Î ÀνºÅç µÈ´Ù.

µð¹ö°Å¸¦ ±âµ¿ÇÏ´Â ¹æ¹ýÀº 2 °³ ÀÖ´Ù.

  1. [µð¹ö±×] - [Direct3D] - [Start D3D] (Ctrl + Alt + F5 Ű)¸¦ Ŭ¸¯ÇØ, µð¹ö°Å¸¦ ±âµ¿ÇÑ´Ù.
  2. ÀÌ¹Ì ½ÇÇàÁßÀÇ Direct3D ÇÁ·Î¼¼½º¿¡ "Attach" ÇÒ ¼ö ÀÖ´Ù. Visual Studio . NET ·Î, À̰ÍÀ» ½ÇÇàÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
    • [µð¹ö±×] ¸Þ´ºÀÇ [µð¹ö±×¾øÀÌ ½ÃÀÛ] Ä¿¸àµå¸¦ »ç¿ëÇØ, ¸ñÀûÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±âµ¿ÇÑ´Ù.
    • [µð¹ö±×] ¸Þ´ºÀÇ [ÇÁ·Î¼¼½º] ¸¦ ¼±ÅÃÇØ,[ÇÁ·Î¼¼½º] À©µµ¿ì¸¦ ¿¬´Ù.
    • ÇÁ·Î¼¼½º À϶÷Áß¿¡¼­ ¸ñÀûÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼±ÅÃÇØ,[Attach] ¹öưÀ» ´©¸¥´Ù.
    • [ÇÁ·Î¼¼½º¿¡ Attach] ´ÙÀÌ¾Ë·Î±× ¹Ú½º·Î, C++ Äڵ带 µð¹ö±× ÇÏ·Á¸é [Native] ¸¦ ¼±ÅÃÇØ, Direct3D Äڵ带 µð¹ö±× ÇÏ·Á¸é [Direct3D] ¸¦ ¼±ÅÃÇÑ´Ù. C++ ÄÚµå¿Í Direct3D ÄÚµå´Â µ¿½Ã¿¡ µð¹ö±× ÇÒ ¼ö ÀÖ´Ù (ÀÌ ÁÖÁ¦ÀÇ ¸¶Áö¸· Æí¿¡ ÀÖ´Â ¡¸C++ ÄÚµå¿Í Direct3D ÄÚµåÀÇ µ¿½Ã µð¹ö±×¡¹¸¦ ÂüÁ¶ÇÒ°Í).

Visual Studio . NET ¿¡¼­µµ, Direct3D ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¸®¸ðÆ® µð¹ö±×¸¦ Áö¿ø Çϰí ÀÖ´Ù. ¸®¸ðÆ® ÄÄÇ»ÅÍÀÇ Direct3D ÇÁ·Î¼¼½º¿¡ Attach ÇÏ·Á¸é ,[ÇÁ·Î¼¼½º] ´ÙÀÌ¾Ë·Î±× ¹Ú½ºÀÇ [ÄÄÇ»ÅÍ] ¹Ú½º¿¡ ¸®¸ðÆ® ÄÄÇ»ÅÍÀÇ À̸§À» ÀÔ·ÂÇØ, ·ÎÄà ÇÁ·Î¼¼½ºÀÇ °æ¿ì¿Í °°ÀÌ ±× ÇÁ·Î¼¼½º¿¡ Attach ÇÑ´Ù.

breakpoint

¸ðµâ À©µµ¿ì¸¦ »ç¿ëÇØ, ÇöÀç ·Îµå µÇ°í ÀÖ´Â ¼ÎÀÌ´õ¸¦ ¸ðµÎ Ç¥½ÃÇÒ ¼ö ÀÖ´Ù. native code¸¦ µð¹ö±× ÇÏ´Â °æ¿ì, À©µµ¿ì¸¦ ¿À¸¥ÂÊ Å¬¸¯ÇØ,[¸ðµç ÇÁ·Î±×·¥ÀÇ ¸ðµâÀ» Ç¥½Ã] ¸¦ ¼±ÅÃÇØ, ·Îµå µÇ°í ÀÖ´Â ¼ÎÀÌ´õ¸¦ Ç¥½ÃÇÑ´Ù.

ÆÄÀÏ / Çà breakpoint

Á¤Á¡ ¼ÎÀÌ´õ ¶Ç´Â Çȼ¿ ¼ÎÀÌ´õÀÇ ¼Ò½º ÆÄÀÏ¿¡ breakpoint¸¦ ¼³Á¤ÇÏ·Á¸é , ¼ÎÀÌ´õ¿¡ µð¹ö±× Á¤º¸¸¦ Á¦°ø½Ãų Çʿ䰡 ÀÖ´Ù ( ¡¸µð¹ö±× Á¤º¸¸¦ »ç¿ëÇÑ ºôµå¡¹¸¦ ÂüÁ¶ÇÒ°Í). ¼ÎÀÌ´õ¿¡ ¼Ò½º ÄÚµå breakpoint¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº, ´ÙÀ½¿¡ ¼³¸íÇϵµ·Ï(µíÀÌ), C++ ¼Ò½º Äڵ忡 ¼Ò½º ÄÚµå breakpoint¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ý°ú °°´Ù.

ÇÔ¼ö breakpoint

À̸§¿¡ ¼ÎÀÌ´õ ÇÔ¼öÀÇ À̸§ (´ë¹®ÀÚ ¼Ò¹®ÀÚ°¡ ±¸º°µÈ´Ù)À» ÀÔ·ÂÇØ, ¾ð¾î¿¡ [D3D Shader] ¸¦ ¼³Á¤ÇÑ´Ù. ÇÔ¼ö¸íÀº, µð¹ö±× Á¤º¸¿¡ ÀúÀå µÇ°í ÀÖ´Â ¼ÎÀÌ´õ ÇÔ¼öÀÇ À̸§, ¼ÎÀÌ´õ¸¦ Æ÷ÇÔÇϰí ÀÖ´Â ÆÄÀÏÀÇ À̸§, ¶Ç´Â ¼ÎÀÌ´õ ŸÀÔÀÌ ¼±µÎ¸¦ µÚµû¸£´Â ¼ÎÀÌ´õ ÇÚµé ¹øÈ£ (VS1 µî)ÀÌ´Ù. ¸ðµâ À©µµ¿ì¿¡´Â, ÇöÀç ·Îµå »ç¶óÁú ¼ö ÀÖ¾î ¸ðµç ¼ÎÀÌ´õ¿Í ±× À̸§ÀÇ À϶÷ÀÌ Ç¥½ÃµÈ´Ù. IDirect3DDevice9::BeginScene ¿Í IDirect3DDevice9::EndScene ÀÇ breakpoint´Â, ÀÌÀü°ú °°ÀÌ ±â´ÉÇÑ´Ù.

Á¶°Ç breakpoint

Á¶°ÇÀÌ TRUE ¶§¿¡ breakpoint°¡ À¯È¿ÇÏ°Ô µÇµµ·Ï(µíÀÌ) ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡ ÇÑÁ¤ÇØ (Á¶°ÇÀÌ ¹Ù²î¾úÀ» ¶§¿¡ À¯È¿ÇÏ°Ô µÇ´Â °æ¿ì¿Í ¹Ý´ë), ´ÙÀ½ÀÇ Å¸ÀÔÀÇ breakpoint¿¡´Â Á¶°ÇÀ» °®°ÔÇÒ ¼ö°¡ ÀÖ´Ù.

½ÄÀº, ´ÜÀÏ ¿ä¼ÒÀÇ ºÒÇüÀÇ °á°ú¸¦ Æò°¡ÇØ¾ß ÇÑ´Ù.

¸Þ¸ð¸® breakpoint

¸Þ¸ð¸® breakpoint´Â, ÁöÁ¤µÈ Á÷»ç°¢Çü³»¿¡¼­ Çȼ¿À» º¯°æÇϱâ Á÷ÀüÀÇ Çȼ¿ ¼ÎÀÌ´õÀÇ ÃÖÃÊÀÇ ¸í·ÉÀ¸·Î ¹æ¾Æ¼è µÈ´Ù. ¸Þ¸ð¸® breakpoint¸¦ ¼³Á¤ÇÏ·Á¸é ,[breakpointÀÇ »ý¼º] ´ÙÀ̾ó·Î±×ÀÇ [ÁÖ¼Ò] ÅÇÀ» ¿­¾î, ¾ð¾î¿¡ [D3D Shader] ¸¦ ¼±ÅÃÇØ, ´ÙÀ½ÀÇ ¸î°³ÀÇ Çü½Ä¿¡¼­ ¹üÀ§¸¦ ÀÔ·ÂÇÑ´Ù.

¾î¼Àºí¸® ÄÚµå (ÁÖ¼Ò) breakpoint

¼ÎÀÌ´õÀÇ Æ¯Á¤ÀÇ ¸í·É¿¡ breakpoint¸¦ ¼³Á¤ÇÏ´Â °æ¿ì´Â, µð¹ö±× Á¤º¸´Â ÇÊ¿ä¾ø´Ù. ÁÖ¼Ò breakpoint´Â, ´ÙÀ½ÀÇ ¹æ¹ýÀ¸·Î ¼³Á¤ÇÑ´Ù.

BeginScene breakpoint ¶Ç´Â EndScene breakpoint

µð¹ö±× Çϰí ÀÖ´Â ¾ÖÇø®ÄÉÀ̼ÇÀÌ IDirect3DDevice9::BeginScene ¶Ç´Â IDirect3DDevice9::EndScene ¿¡ À̸£·¶À» ¶§¿¡ breakpoint¸¦ ¼³Á¤ÇÏ·Á¸é ,[breakpointÀÇ »ý¼º] Ä¿¸àµå (µðÆúÆ®¿¡¼­´Â Ctrl + B Ű)¸¦ ¼±ÅÃÇØ,[ÇÔ¼ö] ÅÇÀ» ¼±ÅÃÇØ,[¾ð¾î] ¹Ú½ºÀÇ À϶÷À¸·ÎºÎÅÍ [Direct3D Shader] ¸¦ ¼±ÅÃÇÑ´Ù. ÇÔ¼ö¸íÀ¸·Î¼­ ¡¸BeginScene¡¹¶Ç´Â ¡¸EndScene¡¹¶ó°í ÀÔ·ÂÇÑ´Ù.

½ºÅÜ ½ÇÇà

¼ÎÀÌ´õ Äڵ带 ½ºÅÜ ½ÇÇàÇÏ·Á¸é ,[µð¹ö±×] ¸Þ´ºÀÇ [½ºÅÜ¿À¹ö] Ä¿¸àµå (µðÆúÆ®¿¡¼­´Â F10 Ű)¸¦ »ç¿ëÇÑ´Ù. Direct3D Äڵ带 ½ºÅÜ ½ÇÇàÇÏ´Â °Í¿¡ ÀÇÇØ, µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀº, ´ÙÀ½¿¡ ½ÇÇàÇÏ´Â Á¤Á¡ ¼ÎÀÌ´õ ¸í·É ¶Ç´Â Çȼ¿ ¼ÎÀÌ´õ ¸í·ÉÀ¸·Î ¸ØÃá´Ù.

½ÄÀÇ Æò°¡

µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ Á¤Á¡ ¼ÎÀÌ´õ³ª Çȼ¿ ¼ÎÀÌ´õ ¶Ç´Â BeginScene ³ª EndScene ÀÇ breakpoint·Î ¸ØÃ߸é[½Ã°è] À©µµ¿ì¸¦ »ç¿ëÇØ µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀÌ¼Ç »óŸ¦ Á¶»çÇÒ ¼ö ÀÖ´Ù. ¶Ç,[È¥ÇÕ ¸ðµå] À©µµ¿ì ¶Ç´Â ¼ÎÀÌ´õÀÇ ¼Ò½º ÄÚµå·Î ¸¶¿ì½º Æ÷ÀÎÅ͸¦ ·¹Áö½ºÅÍ À§¿¡ ª°Ô µÎ¸é ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» °ð¹Ù·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù.

½ÄÀÇ ±¸¹®¿¡¼­´Â, ·¹Áö½ºÅ͸í, ¹Ù²ã ³Ö¾î ÀÌÇÏÀÇ ¿¬»êÀÚ°¡ Áö¿ø µÇ°í ÀÖ´Ù. ¿¬»êÀÚ´Â ¸ðµÎ ¼ººÐ ´ÜÀ§·Î ¿¬»êÀ» ½Ç½ÃÇÑ´Ù.

 + - * / == != < <= > >= [] ! || && 

¶Ç, ´ÙÀ½ÀÇ 2 °³ÀÇ ÆíÀÔ ÇÔ¼öµµ Áö¿ø µÇ°í ÀÖ´Ù.

¸ðµç ÇüŰ¡ Á¤È®ÇÏ°Ô ÀÏÄ¡Çϰí ÀÖÀ» Çʿ䰡 ÀÖ´Ù. ºÎµ¿ ¼Ò¼öÁ¡ ¸®ÅÍ·²¿¡´Â ¼Ò¼öÁ¡ÀÌ ¾øÀ¸¸é ¾È µÈ´Ù. ¼Ò¼öÁ¡ÀÌ ¾øÀ¸¸é Á¤¼ö·Î º¸¿©Áø´Ù.

¿¹

Â÷ÀÇ ½Ä¿¡¼­´Â, r0 ÀÇ ÃÖÃÊÀÇ 3 °³ÀÇ ¼ººÐ ¸ðµç °ÍÀÌ ´ëÀÀÇÏ´Â c4 ÀÇ ¼ººÐº¸´Ù ÀÛÀ¸¸é TRUE ¸¦ µ¹·ÁÁØ´Ù.

 all( r0.xyz < c4.xyz ) 

Á¤¼ö ·¹Áö½ºÅÍ¿¡´Â, 1 ¿¡ a0 ÀÇ x ¼ººÐÀ» ´õÇÑ À妽º°¡ »ý¼º µÈ´Ù.

 c[a0.x+1] 

·¹Áö½ºÅÍÀÇ ³»¿ëÀÇ Ç¥½Ã

½Ã°è À©µµ¿ì¿¡ ·¹Áö½ºÅÍÀÇ ³»¿ëÀ» Ç¥½ÃÇÏ·Á¸é , ´ÙÀ½ÀÇ ½ÄÀÇ ±¸¹®À» »ç¿ëÇÑ´Ù.

 registerName[. swizzle][, format][, w] 

¿©±â¼­

ÀåÄ¡ ½ºÅ×ÀÌÆ®ÀÇ Ç¥½Ã

ÀåÄ¡ÀÇ ·»´õ¸µ ½ºÅ×ÀÌÆ®¿Í ÅØ½ºÃ³ ½ºÅ×ÀÌÁö ½ºÅ×ÀÌÆ®ÀÇ ÇöÀçÀÇ °ªÀ» Ç¥½ÃÇÏ·Á¸é ,[½Ã°è] À©µµ¿ì¿¡ ¡¸$DeviceState¡¹¶ó°í ÀÔ·ÂÇÑ´Ù.

ÇöÀçÀÇ Çȼ¿ À§Ä¡ÀÇ Ç¥½Ã

·¹Áö½ºÅÍ vPos ¿¡´Â, Çȼ¿ ¼ÎÀÌ´õ°¡ ÇöÀç ·»´õ¸µÁßÀÇ Çȼ¿ÀÇ ÁÂÇ¥°¡ ÀúÀå µÇ°í ÀÖ´Ù.

Ç¥¸éÀÇ ³»¿ëÀÇ Ç¥½Ã

·»´õ¸µ Ÿ°ÙÀÇ Ç¥½Ã - ÇöÀçÀÇ ·»´õ¸µ Ÿ°Ù Ç¥¸éÀÇ ³»¿ëÀ» Ç¥½ÃÇÏ·Á¸é ,[µð¹ö±×] ¸Þ´ºÀÇ [Direct3D] - [Render Target] ¸Þ´º ¿É¼ÇÀ» ¼±ÅÃÇØ,[Render Target] À©µµ¿ì¸¦ ¿¬´Ù. ÀÌ À©µµ¿ì´Â, µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ "ºê·¹ÀÌÅ©" ¸ðµå¿¡ µé¾î°¥ ¶§¸¶´Ù, ·»´õ¸µ Ÿ°ÙÀÇ ÇöÀçÀÇ ³»¿ë¿¡ °»½ÅµÈ´Ù.

ÅØ½ºÃ³ÀÇ Ç¥½Ã - ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¿¡ ÇöÀç ¼±Åõǰí ÀÖ´Â ÅØ½ºÃ³ÀÇ ³»¿ëÀ» Ç¥½ÃÇÏ·Á¸é ,[µð¹ö±×] ¸Þ´ºÀÇ [Direct3D] - [Textures] ¸Þ´º·ÎºÎÅÍ ÀûÀýÇÑ ÅØ½ºÃ³ ½ºÅ×ÀÌÁö¸¦ ¼±ÅÃÇØ,[Texture] À©µµ¿ì¸¦ ¿¬´Ù. ÅØ½ºÃ³ À©µµ¿ì´Â, µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ "ºê·¹ÀÌÅ©" ¸ðµå¿¡ µé¾î°¥ ¶§¸¶´Ù, ´ëÀÀÇÏ´Â ÅØ½ºÃ³ ½ºÅ×ÀÌÁöÀÇ ÇöÀçÀÇ ³»¿ë¿¡ °»½ÅµÈ´Ù.

Ç¥¸é (·»´õ¸µ Ÿ°Ù ¶Ç´Â ÅØ½ºÃ³)ÀÇ ³»¿ëÀ» Ç¥½ÃÇÒ ¼ö ¾ø´Â °æ¿ì´Â, Ç¥¸éÀÇ À©µµ¿ì¿¡ "Unavailable" ¶ó°í ÇÏ´Â ¹®ÀÚ°¡ Ç¥½ÃµÈ´Ù. Ç¥¸éÀ» Ç¥½ÃÇÒ ¼ö ¾ø´Â °æ¿ì, ´ÙÀ½°ú °°Àº ÀÌÀ¯°¡ »ý°¢µÈ´Ù.

C++ ÄÚµå¿Í Direct3D ÄÚµåÀÇ µ¿½Ã µð¹ö±×

Visual Studio . NET µð¹ö°Å´Â, º¹¼öÀÇ ÇÁ·Î±×·¥ ŸÀÔÀÇ µ¿½Ã µð¹ö±×¸¦ Áö¿ø Çϰí ÀÖ´Ù. º¸ÅëÀÇ C++ µð¹ö±×´Â,"³×ÀÌÆ¼ºê" ÇÁ·Î±×·¥ ŸÀÔÀ» »ç¿ëÇÑ´Ù. Direct3D µð¹ö±×´Â,"Direct3D" ÇÁ·Î±×·¥ ŸÀÔÀ» »ç¿ëÇÑ´Ù. µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ C++ Äڵ峻¿¡¼­ ¸ØÃ߸é ÇöÀçÀÇ ÇÁ·Î±×·¥Àº ³×ÀÌÆ¼ºê·Î ¼³Á¤µÇ¾î Call Stack, ½Ã°è À©µµ¿ì, ±× ¿ÜÀÇ µð¹ö±× À©µµ¿ì¿¡´Â ³×ÀÌÆ¼ºê ÇÁ·Î±×·¥ÀÇ ½ºÅ×ÀÌÆ®°¡ ¹Ý¿µµÈ´Ù. °°ÀÌ µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ ¼ÎÀÌ´õ Äڵ峻¿¡¼­ ¸ØÃß¾úÀ» °æ¿ì, ÇöÀçÀÇ ÇÁ·Î±×·¥Àº Direct3D ·Î ¼³Á¤µÇ¾î µð¹ö±× À©µµ¿ì¿¡´Â Direct3D ÇÁ·Î±×·¥ÀÇ ½ºÅ×ÀÌÆ®°¡ ¹Ý¿µµÈ´Ù. ÇÁ·Î±×·¥ ŸÀÔÀ» ¹Ù²Ù·Á¸é ,[µð¹ö±×ÀÇ Àå¼Ò] Åø¹ÙÀÇ [ÇÁ·Î±×·¥] ¹Ú½º¸¦ »ç¿ëÇÑ´Ù. µð¹ö±×ÁßÀÇ ¾ÖÇø®ÄÉÀ̼ÇÀÌ native code³»¿¡¼­ ¸ØÃß¾úÀ» °æ¿ì, Direct3D ÇÁ·Î±×·¥ÀÇ ´ëºÎºÐÀÇ ½ºÅ×ÀÌÆ®´Â Ç¥½ÃµÇÁö ¾Ê°Ô µÈ´Ù. ´Ù¸¸, ±× ¿ªÀÇ °æ¿ì´Â °°Áö ¾Ê´Ù. ¿¹¸¦ µé¾î, ¼ÎÀÌ´õ³»ÀÇ breakpoint·Î ¸ØÃß¾ú´Ù°í Çϸé, ³×ÀÌÆ¼ºê ÇÁ·Î±×·¥À¸·Î ÀüÈ¯ÇØ, ¼ÎÀÌ´õÀÇ È£Ãâ¿øÀÌ µÈ C++ Call Stack¸¦ Ç¥½ÃÇÒ ¼ö ÀÖ´Ù.

º¹¼öÀÇ ÇÁ·Î±×·¥ ŸÀÔÀ» µ¿½Ã µð¹ö±× ÇÏ´Â ¹æ¹ýÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, Visual Studio . NET ÀÇ ¹®¼­ÀÇ ¡¸º¹¼ö ÇÁ·Î±×·¥ÀÇ µð¹ö±×¡¹¸¦ ÂüÁ¶ÇÒ°Í.

µð¹ö±× Á¤º¸¸¦ »ç¿ëÇÏÁö ¾Ê´Â ºôµå

°¡´ÉÇϸé, ¼ÎÀÌ´õ´Â µð¹ö±× Á¤º¸¸¦ »ç¿ë °¡´ÉÇÏ°Ô ÇØ ºôµå ÇÏ´Â °Í ( ¡¸µð¹ö±× Á¤º¸¸¦ »ç¿ëÇÑ ºôµå¡¹¸¦ ÂüÁ¶ÇÒ°Í). "±× ÀÚ¸®¿¡¼­" ºôµå µÇ´Â ¼ÎÀÌ´õ µî, µð¹ö±× Á¤º¸¸¦ »ç¿ëÇÑ ºôµå°¡ ºÒ°¡´ÉÇÑ °æ¿ì, µð¹ö±×´Â ÇÒ ¼ö À־, º¸´Ù ÇÑÃþ ¾î·Á¿öÁø´Ù. ¼Ò½º Äڵ带 »ç¿ëÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ¼Ò½º ÄÚµå breakpoint´Â ±â´ÉÇÏÁö ¾Ê´Â´Ù. µð¹ö±× Á¤º¸¾øÀÌ µð¹ö±× ÇÏ´Â ¹æ¹ýÀÇ 1 °³·Î¼­ BeginScene breakpoint¸¦ ¼³Á¤ÇØ, ±× breakpoint¿¡ À̸£¸é F10 ۸¦ ´­·¯ ½ÇÇàµÇ°í ÀÖ´Â ÃÖÃÊÀÇ ¼ÎÀÌ´õÀÇ ¼ÎÀÌ´õ Äڵ带 ½ºÅÜ ½ÇÇàÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. È¥ÇÕ ¸ðµå Äڵ带 ½ºÅÜ ½ÇÇàÇϰí ÀÖÀ» ¶§´Â,[È¥ÇÕ ¸ðµå] À©µµ¿ì·Î breakpoint¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. [Modules] À©µµ¿ì¸¦ »ç¿ëÇϸé ÇöÀç ·Îµå »ç¶óÁú ¼ö ÀÖ¾î ¸ðµç ¼ÎÀÌ´õÀÇ À̸§À» Ç¥½ÃÇØ, Çʿ信 µû¶ó¼­ ¼ÎÀÌ´õ¿¡ breakpoint¸¦ ¼±ÅÃÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.

´Ù¸¥ ¹æ¹ýÀ¸·Î¼­´Â, C++ Äڵ峻¿¡¼­ IDirect3DDevice9::DrawPrimitive ¶Ç´Â IDirect3DDevice9::DrawIndexedPrimitive ¸¦ È£ÃâÇϱâ Á÷Àü¿¡ breakpoint¸¦ ¼³Á¤ÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ breakpoint¿¡ À̸£¸é ÇöÀçÀÇ ¼ÎÀÌ´õ ÇÚµéÀ» »ç¿ëÇØ ÁÖ¼Ò breakpoint¸¦ ¼³Á¤ÇØ, ±× breakpoint¿¡ À̸¦ ¶§±îÁö ½ÇÇàÇÑ´Ù.



© 2002 Microsoft Corporation. All rights reserved.
¡èTOP