2014-03-24 33 views
1

我想在Visual Studio 2012的調試過程中執行額外的代碼行。 是否可以實現。 一個應用程序將執行一些寫(,)語句,或評估一些表達式。在調試過程中是否可以運行額外的代碼行

+0

感謝您的解釋。但我想我沒有說清楚。我實際上在尋找的東西類似於GDB中的「p」命令。這就是說,你可以打印屏幕並在調試時看到你想要的東西(Visual Studio觀察窗口)被設計成以這種方式工作,但是對於Fortran來說,調試器不能很好地工作。當數據結構很「深」時,我看不到對象的所有屬性。 – user2008151314

+0

GDB中的其他一些功能(如「up」和「down」)可用於暫時超出範圍內的內存,我很高興知道Visual Studio中的類似功能。 – user2008151314

回答

0

如果您使用的是與英特爾編譯器F77,看看在/ d線的選擇。您可以編寫代碼就像

 if (x.gt.10) then 
      x = 0 
D   print *, 'x reset' 
     end if 

它只會編譯d線在第1列,如果/ d線選項,否則被視爲註釋。我只在F77上使用過它。我不知道這是否適用於F90等

參考http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/GUID-E356B0E3-F847-40A9-A932-77B4D8EEF53B.htm

英特爾編譯器還支持預處理。你可以使用任何

如果您使用Silverfrost,看看CIF-CELSE-CENDIF/VPARAM/SPARAM選項。

+0

謝謝!我從Fortran 95開始......所以基本上對F77的基本知識知之甚少。但感謝您的信息! – user2008151314

0

您可以使用#if在Visual Studio中執行此操作。

#if DEBUG 
    Console.WriteLine("Debug version"); 
#endif 

http://msdn.microsoft.com/en-us/library/4y6tbswk(v=vs.110).aspx

+1

這不是有效的Fortran代碼 – Peter

+0

謝謝。但是有沒有一種方法可以在調試模式下打印這些行,並且代碼不需要重新編譯就可以運行額外的代碼行?我爲這個問題增加了更多的評論,使自己更清晰。我很感謝你的迴應! – user2008151314

相關問題