- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
That is the source :
PROGRAM main !1
CHARACTER(LEN=3) :: s !2
!3
s='abc' !4
!5
PRINT*, s(1:1) !6
PRINT*, s(1:2) !7
PRINT*, s(1:3) !8
!9
END PROGRAM main !10
$ifort -g main.f90 ; a.out
a
ab
abc
$ idb a.out
Linux Application Debugger for 32-bit applications, Version 7.3.1, Build 20031003
------------------
object file name: a.out
Reading symbolic information ...done
(idb) stop at "main.f90":3
[#1: stop at "main.f90":4 ]
(idb) run
[1] stopped at [subroutine main():4 0x8049d65]
4 s='abc' !4
(idb) next
stopped at [subroutine main():6 0x8049d87]
6 PRINT*, s(1:1) !6
(idb) next
a
stopped at [subroutine main():7 0x8049dcd]
7 PRINT*, s(1:2) !7
(idb) next
ab
stopped at [subroutine main():8 0x8049e13]
8 PRINT*, s(1:3) !8
(idb) next
abc
stopped at [subroutine main():10 0x8049e59]
10 END PROGRAM main !10
(idb) rerun
Process has exited
[1] stopped at [subroutine main():4 0x8049d65]
4 s='abc' !4
Information: idb allows you to restart the execution of your program
from saved positions. Enter "help snapshot" for details.
(idb) step
stopped at [ function memmove(...) 0x4207bc11]
Information: An type was presented during execution of the previous command. For complete type information on this symbol, recompilation of the program will be necessary. Consult the compiler man pages for details on producing full symbol table information using the '-g' (and '-gall' for cxx) flags.
(idb) step
stopped at [ function memmove(...) 0x4207bc15]
(idb)
Why these messages ? What do they mean ?
Thanks
PROGRAM main !1
CHARACTER(LEN=3) :: s !2
!3
s='abc' !4
!5
PRINT*, s(1:1) !6
PRINT*, s(1:2) !7
PRINT*, s(1:3) !8
!9
END PROGRAM main !10
$ifort -g main.f90 ; a.out
a
ab
abc
$ idb a.out
Linux Application Debugger for 32-bit applications, Version 7.3.1, Build 20031003
------------------
object file name: a.out
Reading symbolic information ...done
(idb) stop at "main.f90":3
[#1: stop at "main.f90":4 ]
(idb) run
[1] stopped at [subroutine main():4 0x8049d65]
4 s='abc' !4
(idb) next
stopped at [subroutine main():6 0x8049d87]
6 PRINT*, s(1:1) !6
(idb) next
a
stopped at [subroutine main():7 0x8049dcd]
7 PRINT*, s(1:2) !7
(idb) next
ab
stopped at [subroutine main():8 0x8049e13]
8 PRINT*, s(1:3) !8
(idb) next
abc
stopped at [subroutine main():10 0x8049e59]
10 END PROGRAM main !10
(idb) rerun
Process has exited
[1] stopped at [subroutine main():4 0x8049d65]
4 s='abc' !4
Information: idb allows you to restart the execution of your program
from saved positions. Enter "help snapshot" for details.
(idb) step
stopped at [ function memmove(...) 0x4207bc11]
Information: An type was presented during execution of the previous command. For complete type information on this symbol, recompilation of the program will be necessary. Consult the compiler man pages for details on producing full symbol table information using the '-g' (and '-gall' for cxx) flags.
(idb) step
stopped at [ function memmove(...) 0x4207bc15]
(idb)
Why these messages ? What do they mean ?
Thanks
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Title is "step command in idb", not "set ...". Sorry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
According to what you have presented, Fortran is implementing the character string copy as a call to the C library function memmove(), which wasn't compiled with -g. next skips over called functions, step steps into them. Is that what you are asking?

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page