Wie kann ich totalview bieten Zugriff auf alle Variablen in meinem Code?totalview erkennt nur einige Variablen, ausführbare Zeilen
Ich versuche, ein Fortran90-Programm mit TotalView zu debuggen. Ich kompilierte und verknüpfte mit Intels ifort mit dem "-g" -Flag. totalview kann durch mein Programm gehen, bietet aber nur "dive" für vier der Variablen in meiner Subroutine, und viele ausführbare Quellzeilen haben keine Box, die ich überprüfen kann, um einen Aktionspunkt zu setzen. Von allen unten angegebenen Variablen sind nur cell_EW, cell_NS, Bereich und pct verfügbar, um später im Unterprogramm zu tauchen.
164 REAL, allocatable, DIMENSION(:), INTENT(in) :: lon, lat
165 REAL, ALLOCATABLE, DIMENSION(:, :, :, :) :: area, pct
166 REAL, ALLOCATABLE, DIMENSION(:, :, :), INTENT(in) :: in_flux
167 REAL, ALLOCATABLE, DIMENSION(:, :, :), INTENT(inout) :: out_flux
168 REAL :: cell_EW, cell_NS
169 INTEGER status, ierr, dimid, nlon, nlat, ntimes
170 INTEGER i, j, k, LOGDEV, this_var, this_t
171 INTEGER jdate, jtime, this_date, this_time
ein weiteres Beispiel: Linie 190 erlaubt mir nicht, einen Aktionspunkt zu setzen, und nTimes ist als Variable unerkannt.
189 CALL calc_land_area(pct, cell_EW, cell_NS, lon, lat, area)
190 ntimes = SIZE(in_flux, 1) ! first dimension is time
191 do i = 1, ntimes
Anders als '-g' welche Compiler-Flags geben Sie an? Ich habe totalview nicht verwendet, aber die FAQ [hier] (https://computing.llnl.gov/tutorials/totalview/#Compiling) sagt, keine Optimierungs-Flags zu verwenden. Standardmäßig denke ich, dass 'ifort'' -O2' verwendet, also sollten Sie versuchen, explizit '-O0' oder ähnliches anzugeben. (eigentlich '-g' kann" -O0 "bedeuten, aber es kann überschrieben werden) –
wow, @ d_1999, du hast es geschafft. Ich hatte diese FAQ gesehen und ein explizites "-O2" -Flag entfernt (und '-g' gesetzt), um zu debuggen, aber es war mir nicht eingefallen, ein explizites' -O0' zu verwenden. Ich habe mit "-O-g" rekompiliert und alle meine Variablen sind jetzt verfügbar. Danke vielmals! Wenn Sie Ihren Kommentar als Antwort hinzufügen, nehme ich ihn gerne an. –