ããã§ç®æããŠããæçµçµæã¯ã.Net Frameworkã¡ãœããã®åŒã³åºãå ã§IDEããããã°ã§ããæ©èœã§ãã ãã®æçš¿ã«å¿ èŠãªãã®ããã¹ãŠå«ãŸããŠããããšãé¡ã£ãŠããŸãã é廿°é±éã«ããã£ãŠãå€ãã®å®éšãè¡ãããã®åé¡ã«é¢ããå€ãã®ããŒã¿ãåéããŸããã ãããŠãçµéšãã³ãã¥ããã£ãšå ±æããããšèããŠããŸãã
æ¹æ³ïŒ1ïŒ.NET FrameworkãœãŒã¹ã³ãŒãããããã°ããããã®Visual Studioã®æ§æïŒVisual Studio 2008ã®ã¿ãçè«çã«ã¯-2010ïŒ
åé¡ãããå Žåã¯ãéå§ããããã®ãã¹ãŠã®æé ãå®äºããŠããããšã確èªããŠãã ããã ããã¯ç§ãã¡ãšäžç·ã«æžãããŠãããšããã§ãã ä»ã®ãã¹ãŠã倱æããå Žåã¯ãããã¥ã¡ã³ãã®æåŸã«ããFAQã»ã¯ã·ã§ã³ãã芧ãã ããã ãããããŸããããªãå Žåã¯ãã³ã¡ã³ããæžããŠãã ããããã¹ãŠäžç·ã«è§£æ±ºããŸãã
åºæ¬èšå®
ãŸããMS VS 2008 Express Editionãã€ã³ã¹ããŒã«ãããŠããå Žåãããã¯æ©èœããŸããã
1ïŒ Visual Studio QFEãã€ã³ã¹ããŒã«ããŸãã ãã®ä¿®æ£ããã°ã©ã ã¯ããœãŒã¹ãã¡ã€ã«ãéžæããVisual Studioãããã¬ãŒã®äžéšã§ããDLLãæŽæ°ããã ãã§ãã ããŠã³ããŒãããŒãžã§ä¿®æ£ã«é¢ãã詳现ããã¹ãŠãèªã¿ãã ããã
æŽæ°ããã°ã©ã ã®ã€ã³ã¹ããŒã«ãšã©ãŒã¡ãã»ãŒãžã衚瀺ãããå Žåã¯ãVS 2008 DVDãæ¿å ¥ããŠãEXEãå床å®è¡ããŠãã ããã ããã«ãããä¿®æ£ããã°ã©ã ãæ£ããã€ã³ã¹ããŒã«ã§ããå ŽåããããŸãã
2ïŒ Visual Studioãèµ·åãã[ããŒã«]> [ãªãã·ã§ã³]> [ãããã°]> [å šè¬]ãéžæããŸãã Visual Basicãããã¡ã€ã«ã§äœæ¥ããŠããå Žåã¯ãç¶è¡ããåã«ã[ãªãã·ã§ã³ãã€ã¢ãã°]ãã€ã¢ãã°ã®äžéšã«ãã[ãã¹ãŠã®èšå®ã衚瀺]ãã§ãã¯ããã¯ã¹ããªã³ã«ããå¿ èŠããããŸãã
次ã®èšå®ãèšå®ããŸãã
- ãJust Meã³ãŒããæå¹ã«ããïŒç®¡çã®ã¿ïŒãããªãã«ãã
- ããœãŒã¹ãµãŒããŒã®ãµããŒããæå¹ã«ããããæå¹ã«ããŸã
ãã¹ãŠã次ã®ããã«ãªããŸãã
3ïŒæ¬¡ã«ãããããã£ããªãŒãã[ãããã°]> [ã·ã³ãã«]ãéžæããŸãã ããŠã³ããŒãããã·ã³ãã«ã®ãœãŒã¹ãšãVisual Studioããããããã£ãã·ã¥ããããŒããã©ã€ãäžã®å Žæãèšå®ããŸãã
ã·ã³ãã«ãã¡ã€ã«ïŒ.pdbïŒã®å Žæã«ã¢ãã¬ã¹ã远å ããŸãïŒ http : //referencesource.microsoft.com/symbols
ãã£ãã·ã¥ã®å Žæãèšå®ããŸãã ãã®å Žæã«èªã¿åãããã³æžãèŸŒã¿æš©éãããããšã確èªããŠãã ããã çŽ æŽããããªãã·ã§ã³ã¯ãããã¥ã¡ã³ãã®å Žæã§ãã ããšãã°ãCïŒ\ Users \ Stanislav \ VsSymbolsã
ãã§ãã¯ããã¯ã¹ããªã³ã«ããŸãïŒã·ã³ãã«ãæåã§èªã¿èŸŒãŸããå Žåã®ã¿ãäžèšã®å Žæãæ€çŽ¢ããŸãã
ããã§ã€ã³ã¹ããŒã«ã¯å®äºã§ãïŒ
ãœãŒã¹ã³ãŒããã¬ãŒã ã¯ãŒã¯å ã§ã®ãããã°
ãããè¡ãã«ã¯ãç°¡åãªäŸãåãäžããŸãã 空ã®CïŒWindowsã¢ããªã±ãŒã·ã§ã³ãããžã§ã¯ããäœæããŸãã ãšã³ããªãã€ã³ããForm_Loadã«èšå®ããŸãã
ãœãªã¥ãŒã·ã§ã³ã®ãããã°ãéå§ããŸãã ããã°ã©ã ããã¬ãŒã¯ãã€ã³ãã§åæ¢ããããCall StackãŠã£ã³ããŠã«ç§»åããŸãã åŒã³åºãã¹ã¿ãã¯ã§ã System.Windows.Forms.dllã§å§ãŸãè¡ãå³ã¯ãªãã¯ãã[ã·ã³ãã«ã®èªã¿èŸŒã¿]ãéžæããŸãã è¯ãã€ã³ã¿ãŒããããã£ã³ãã«ãããã°ããã®ã§ããã ãã以å€ã®å Žåã¯ãäºåã«ããŒã«ãšãè¶ãçšæããŠãã ããã ããŠã³ããŒããããã¡ã€ã«ã®ééã¯çŽ10ã¡ã¬ãã€ãã§ãã Visual Studioã¯åžžã«å¿çããªãããšã«æ³šæããŠãã ããïŒã«ã«ãã§ãã€ãã¹ããŸããããŠã³ããŒãã€ã³ãžã±ãŒã¿ãŒãè¯ãããŒã³ã§ãããã³ã°ããå Žåãããã»ã¹ã匷å¶çµäºããŸãããã³ã°ããªãå Žåã匷å¶çµäºããŸã-æ®å¿µã§ãïŒã ãã ãããã®ãããªããŠã³ããŒãã¯1åè¡ãããäžèšã§æå®ãããã£ãã·ã¥ã®ãããã£ã¬ã¯ããªã®ã³ã³ãã¥ãŒã¿ãŒã«ä¿åãããŸãã
ãããã®ã¢ã¯ã·ã§ã³ã«ãããåããDLLããæåãããŒãã§ãã System.Windows.Forms.dllå ã®åŒã³åºãã瀺ããã¹ãŠã®è¡ãé»ã«ãªããŸãã æé ãªäŸ¡æ Œã è¡çªå·ãå©çšå¯èœã«ãªããŸãã ãã£ã©ã¯ã¿ãŒãèŠãå¿ èŠããããã³ã«ãå³ã¯ãªãã¯ããŠã·ã³ãã«ã®ããŒããéžæããå¿ èŠãããããšã«æ³šæããŠãã ããã
ãã®ããããã®ç¬éããSystem.Windows.Forms.dllã®ãã¹ãŠã®ã·ã³ãã«ãèªã¿èŸŒãŸãããã®ã³ãŒããèŠãããšãã§ããŸãã ã³ãŒãã®éåžžã®ãããã°æãšãŸã£ããåãæ¹æ³ã§ã³ãŒãã衚瀺ã§ããŸãã ãããè¡ãã«ã¯ãéåžžã©ãããCallStackè¡ãããã«ã¯ãªãã¯ãããã ïŒF11ïŒã䜿çšããŠã¢ã»ã³ããªã¡ãœããå ã«å ¥ããŸãã ã³ãŒããåããŠè¡šç€ºããããšãããšãã©ã€ã»ã³ã¹ãæäŸãããããã«åºã¥ããŠã³ãŒããèªãããšãã§ããŸããåæããå Žåã¯ã[åæãã]ãã¯ãªãã¯ããŸãããã®åŸããœãŒã¹ã³ãŒããããŠã³ããŒããããŸãã
ããã§ããããã°ãããã¹ãŠã®ã¢ã»ã³ããªã«ã€ããŠãäžèšã®ãã¹ãŠã®æé ãç¹°ãè¿ããŸãã ã³ãŒã«ã¹ã¿ãã¯ã«ãªãã¢ã»ã³ããªããããã°ããå¿ èŠãããå Žåã¯ã[ã¢ãžã¥ãŒã«]ãŠã£ã³ããŠãéããããããæåãèªã¿èŸŒã¿ãŸãã
äžèšã®äŸã§ã¯ãF11ã§DrawRectangleã³ãŒãã«ç§»åã§ããŸãã
äžçŽãŠãŒã¶ãŒåã
éåžžãVisual Studioã¯ãããã°ã»ãã·ã§ã³ããšã«ããããã°ãããããã»ã¹ã«èªã¿èŸŒãŸããåDLLã®æåãèªã¿èŸŒãããšããŸãã ã·ã³ãã«ã«é¢ããæ å ±ãèŠã€ããã«ã¯ã[ãªãã·ã§ã³]> [ãããã°]> [ã·ã³ãã«]ã§æå®ããããã¹ãŠã®ãã¹ãã¹ãã£ã³ããŸãã ãã ããæåã«é¢ããæ å ±ããªãDLLãå€ã䜿çšãããããžã§ã¯ãããããŸãã ãããã®å Žåããããã°éå§ããã»ã¹ã¯éåžžã«é·ããªããŸãã ãããããŠãŒã¶ãŒã®èŠæ±ã«å¿ããŠãã£ã©ã¯ã¿ãŒã®èªã¿èŸŒã¿ã䜿çšããããšããå§ãããäž»ãªçç±ã§ãã
ãã ããæåãèªåçã«ããŒãããæ¹æ³ãããïŒããã«ãããã·ã³ãã«ã®ããŒããã¹ããããæ¬è³ªçã«äžèŠã«ãªããŸãïŒãå šäœçãªããã©ãŒãã³ã¹ãåäžããŸãã ãã®ãã§ãã¯ããã¯ã¹ã¯ããã®ãã€ã¢ãã°ã«é »ç¹ã«æ»ãå¿ èŠããããããã·ã¹ãã ã®äžçŽãŠãŒã¶ãŒã«ã®ã¿æå³ããããŸãã ã¡ãªã¿ã«ããã°ããå ¥åããã«ã¯ãäžã®ç»åã®ã³ã³ããã¹ãã¡ãã¥ãŒã§[ã·ã³ãã«èšå®...]ãéžæããŸãã
ããã®åºæ¬ã¯ããã¹ãŠã®ãã£ã©ã¯ã¿ãŒãååŸããããŠã³ããŒãããŠããŒã«ã«ã«ä¿åããããšã§ãã ãããè¡ãã«ã¯ããäžèšã®å Žæãæ€çŽ¢...ãã®é£ã®ããã¯ã¹ããªãã«ããŸãã
ãã®åŸããããã¬ã§ãããžã§ã¯ããå®è¡ããŸãã ã¯ãããšããã§ããã¿ãŸãããèšãã®ãå®å šã«å¿ããŸããã ãè¶ãšãã³ã«ææ ¢ããŠãã ããã æ¥ç¶ã«å¿ããŠãã¹ã¿ãžãªã¯é·æéãŸãã¯éåžžã«é·ãæéããŠã³ããŒãããŸãã åèšã§ãçŽ50ã¡ã¬ãã€ããããŠã³ããŒãããå¿ èŠããããŸãã ãããŠä»¥æ¥ ããã¯ãã¹ãŠãã£ãã·ã¥ããããã®åŸã¯1åéãã§ãã
ãã®ããã»ã¹ãå®äºãããããããã¬ãŒã忢ãããµãŒããŒã¢ãã¬ã¹ãæã€ãœãŒã¹ãåé€ããŠã[OK]ãã¯ãªãã¯ããŸãã
ãããã®æé ã®åŸããã¹ãŠã®ã·ã³ãã«ãèªåçã«ããŒããããæ©æã®å¶éãªãã«ã³ãŒã«ã¹ã¿ãã¯ã«ä»å ¥ã§ããŸãã ããŒãããããã£ã©ã¯ã¿ãŒã«é¢ããæ å ±ãå«ãŸãªãå¥ã®ãããžã§ã¯ãã§äœæ¥ããŠããå Žåã¯ãããããã¹ãŠã®ã¹ããããç¹°ãè¿ããŠãã ãã;ïŒ
ãããã質å
1ïŒ[ã·ã³ãã«ã®ããŒã]ãéžæãããšã[ãã¡ã€ã«ãéã]ãã€ã¢ãã°ããã¯ã¹ã衚瀺ãããŸãããã®ãã€ã¢ãã°ããã¯ã¹ã§ãããŒãã¯.pdbãã¡ã€ã«ã®å Žæã瀺ããŸãã
ããã¯ã次ã®4ã€ã®ç¶æ³ã§çºçããå¯èœæ§ããããŸãã
- æ§æãŸãã¯æ§æããŠããŸãããããµãŒããŒã¢ãã¬ã¹ãæ£ãããããŸããïŒ referencesource.microsoft.com/symbols
- ã¢ã«ãŠã³ãã§Visual Studioããã®ãã¹ã«æ²¿ã£ãŠãã¡ã€ã«ãèªã¿æžãã§ããªãããã«ããã£ãã·ã¥ã®ãã£ã¬ã¯ããªãéžæããŸãã
- ååšããªãDLLã®ã·ã³ãã«ãããŒãããããšããŠããŸã
- å¥ã®ããŒãžã§ã³ã®.NET Frameworkãã€ã³ã¹ããŒã«ãããŠããå ŽåããããŸãã ããã¯ãããšãã°ãMicrosoft Server 2008 Betaãã€ã³ã¹ããŒã«ãããŠããå Žåã«çºçããå¯èœæ§ããããŸãã ããã確èªããã«ã¯ãmscorlib.dllã¢ã»ã³ããªã®ããŒãžã§ã³çªå·ã確èªãã2.0.50727.1433ã§ããå¿ èŠããããŸããããã§ãªãå Žåã¯ã .NET Framework 3.5ã®RTMããŒãžã§ã³ãã€ã³ã¹ããŒã«ããŠãã ãã
ãŸãã ãCïŒ\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDEã ïŒãŸãã¯Visual Studioãã€ã³ã¹ããŒã«ããå ŽæïŒ symsrv.noãšãããã¡ã€ã«ã確èªããŸãã ãã®ãã¡ã€ã«ãååšããå Žåãååãsymsrv.yesã«å€æŽããŸã ã
2ïŒãœãŒã¹ã³ãŒãå ã§ãããã¬ãŒãå ¥åããããšãããšãããã®å Žæã§ã¯ãœãŒã¹ã䜿çšã§ããŸããããšãããã€ã¢ãã°ã衚瀺ãããŸãã
ãŸããFAQã®ãã€ã³ãïŒ2ïŒãåç §ããŠãã ããã ãã¹ãŠã®ãã£ã©ã¯ã¿ãŒãæ£åžžã«ããŒããããããšã確èªããŸãã ããã確èªããã«ã¯ã[ã¢ãžã¥ãŒã«]ãŠã£ã³ããŠã®ã·ã³ãã«ã®ã¹ããŒã¿ã¹ã®åã確èªããŸãã æåãããŒããããŠããå Žåã¯ã次ã確èªããŠãã ããã
éå»ã«Microsoft Symbol Serverãæ§æããŠããããœãŒã¹ã³ãŒããå«ãŸãªããã®DLLã®ã·ã³ãã«ãããŠã³ããŒãããå Žåã å¥ã®ãã£ãã·ã¥äœçœ®ãæå®ããããæ¢åã®ãã£ãã·ã¥ãåé€ããŠããããã·ã³ãã«ã®èªã¿èŸŒã¿ãã³ãã³ãã確èªããŠãã ããã 詳现ã«ã€ããŠã¯ãFAQïŒ3ïŒãåç §ããŠãã ããã
ãããŒã«ã>ããªãã·ã§ã³ã>ããããã°ã>ãäžè¬ããŠã£ã³ããŠã§ããœãŒã¹ãµãŒããŒãæå¹ã«ããããã§ãã¯ããã¯ã¹ãæå¹ã«ããŠããããšãããäžåºŠç¢ºèªããŠãã ããã
æåãã£ãã·ã¥ãåéããããã«æ§æããããã©ã«ããŒã«èªã¿åãããã³æžãèŸŒã¿æš©éãããããšã確èªããŠãã ãã
_NT_SYMBOL_PATHãã€ã³ã¹ããŒã«ãããŠããå Žåããããã®èšå®ã¯ãã¹ãŠäžæžããããŸãã 詳现ã¯ãã¡ã
3ïŒMicrosoft Symbol Serverã䜿çšããŠãã£ã©ã¯ã¿ãŒãããŠã³ããŒãããŸãã éãã¯äœã§ããïŒ
Microsoft Symbol Serverã¯ãæ å ±ãæäŸããã«ã·ã³ãã«ãæäŸããŸãã ãã®æ å ±ã¯å ¬éåã«åé€ãããŸãã åç §ãœãŒã¹ãã¹ãšMicrososft Symbol Serverã®äž¡æ¹ã䜿çšããå Žåãããã¯ãªã¹ãã®æåã®åç §ãœãŒã¹ãã¹ã®å Žæã§ãã
ãã ããMicrosoft Symbol Serverã_NT_SYMBOL_PATHãä»ããŠæ§æãããŠããå Žåã_NT_SYMBOL_PATHããããã®èšå®ããªãŒããŒã©ã€ãããããšã«æ³šæããŠãã ããã
4ïŒ64ãããOSã®ãµããŒãã¯ãããŸããïŒ
ã¯ãã64ãããããŒãžã§ã³ã®PDBãå©çšå¯èœã§ãã ããŸããŸãªã¢ãŒããã¯ãã£ã§åäœããDLLãããããšã«æ³šæããŠãã ããã ãããã£ãŠãå¿ èŠãªPDBã¯1ã€ã ãã§ãã
5ïŒFrameworkã³ãŒãã«ãã¬ãŒã¯ãã€ã³ããèšå®ããã«ã¯ã©ãããã°ããã§ããïŒ
æåã«ãVisual Studioã§ã¯ã³ãŒããPDBãã¡ã€ã«ãšå®å šã«äžèŽããå¿ èŠããããŸãã å€ãã®å ŽåãPDBãã¡ã€ã«ã¯å€§å¹ ã«å€æŽãããŸããã ããšãã°ãèè ã¯èäœæš©ã®è¡ã远å ããŸããã ãã ããã³ãŒãã¯ç°¡åã«ãããã°ã§ããŸãã ãã¬ãŒã¯ãã€ã³ããèšå®ãïŒäžå®å šã«å¡ãã€ã¶ããããããã衚瀺ãããŸãïŒãPDBãã¡ã€ã«ã®å Žæãæå®ããŸãïŒãã¬ãŒã¯ãã€ã³ãããã®ã³ã³ããã¹ãã¡ãã¥ãŒãå Žæã®äœçœ®...ïŒ
次ã«ãäžã®ããã¯ã¹ããã§ãã¯ããŸãã
ãããã®æé ã®åŸãå®å šã«äœæ¥ãç¶è¡ã§ããŸãã
6ïŒãGo To Dedefitionããªã©ã®æ©èœãæ©èœããªãã®ã¯ãªãã§ããïŒ
ãã®æ å ±ã¯ãå®è¡æã§ã¯ãªããã³ãŒãã䜿çšããäœæ¥äžã«äœæãããããã§ãã
7ïŒäžéšã®ã¡ã³ããŒãŸãã¯ããŒã«ã«å€æ°ãå©çšã§ããªãã®ã¯ãªãã§ããïŒ ãªãããã€ãã®ã¡ãœããã®äžã«å ¥ã£ãããããã€ãã®ã³ãŒãè¡ãééã§ããªãã®ã§ããïŒ
ããã¯ã.NET Frameworkããµã€ãºãšããã©ãŒãã³ã¹ã®ããã«ã³ãŒããæé©åããããšãæå³ããŸãã ãããã®æé©åã®äžéšã¯ãäžèŠã«ãªã£ãæ å ±ãåé€ããŸãã ãããã°ã«ã¯ãããåæ ãããŸãã ãã ããã»ãšãã©ã®ãããã°æ å ±ã¯ãŸã ã»ãã·ã§ã³ã«ååšãããããã¡ãœããã®å é ã«ãã¬ãŒã¯ãã€ã³ããèšå®ãããšãããã衚瀺ã§ããŸãã 2çªç®ã®çç±ã¯ãäžéšã®ã¡ãœãããçµã¿èŸŒãŸããŠããããšã§ããå¯èœæ§ããããŸããã€ãŸãããããã®ã¡ãœããã®äžã«å ¥ãããšã¯ã§ããŸããã ãã ããã»ãšãã©ã®å Žåãèªç±ã«ãããã°ã§ããŸãã
8ïŒPDBãã¡ã€ã«ã®èªã¿èŸŒã¿ã«æéããããã®ã¯ãªãã§ããïŒ
ããããããããããããã®äžã«1ã¡ã¬ãã€ã以äžã®ãã¡ã€ã«ãããããã§ãã
9ïŒãã©ãŠã¶ã§éããŠè¡šç€ºããããšã¯ã§ããŸããïŒ
ããããHTTP 400ãšã©ãŒãçºçããŸãã
æ¹æ³ïŒ2ïŒå ¬åŒã®Microsoft Webãµã€ããã1ã€ã®ã¢ãŒã«ã€ãïŒä»»æã®IDEïŒã§ããŠã³ããŒããã
1ã€ã®ã¢ãŒã«ã€ãã«ãã¹ãŠã®ã·ã³ãã«ãšãœãŒã¹ã³ãŒããããŠã³ããŒãããã«ã¯ã http ïŒ //referencesource.microsoft.com/netframework.aspxã®ãªã³ã¯ããã©ã£ãŠãã ããã
ããããããŠã³ããŒãçšã«æäŸããããªã³ã¯ã®å šã»ããã®ãã¡ã1ã€ã ããç§ã®ããã«åããŸããã ãã£ããããŠããªãã
æ¹æ³ïŒ3ïŒ.NETãã¹ããŠã³ããŒããŒïŒä»»æã®IDEïŒ
ãã¹ãŠã®ãã£ã©ã¯ã¿ãŒãšãœãŒã¹ã³ãŒããããŠã³ããŒãããããã«èšèšãããŠããŸãã ã³ãã³ãã©ã€ã³ããåäœãããœãŒã¹ã³ãŒãã§å©çšå¯èœã§ãã
å¿ èŠãªãã®ãããŠã³ããŒãããã«ã¯ããªã³ã¯ïŒ .NET MASS DOWNLOADER ïŒã«åŸã£ãŠãããŠã³ããŒãããŠæ¬¡ã®ããã«å®è¡ããŸãã
- 32ãããã·ã¹ãã ã®å ŽåïŒNetMassDownloader.exe -dâ CïŒ\ Windows \ Microsoft.Net \ Framework \ v2.0.50727â -dâ CïŒ\ Program Files \ Reference Assemblies \ Microsoft \ Framework \ v3.5â
- 64ãããã·ã¹ãã ã®å ŽåïŒNetMassDownloader.exe -dâ CïŒ\ Windows \ Microsoft.Net \ Framework \ v2.0.50727â -dâ CïŒ\ Windows \ Microsoft.Net \ Framework64 \ v2.0.50727â -dâ CïŒ\ããã°ã©ã ãã¡ã€ã«\ãªãã¡ã¬ã³ã¹ã¢ã»ã³ããª\ Microsoft \ Framework \ v3.5 "-d" CïŒ\ Program FilesïŒx86ïŒ\ãªãã¡ã¬ã³ã¹ã¢ã»ã³ããª\ Microsoft \ Framework \ v3.5 "
ã¡ãœããïŒ2ããã³ïŒ3ã®Visual Studioã»ããã¢ãã
以äžã«ç€ºãããã«Visual Studioãã»ããã¢ããããŸãã