=== If no file names and line numbers are shown below, one can run
            addr2line -Cpfie my_exefile my_line_address
    to convert `my_line_address` (e.g., 0x4a6b) into file name and line number.
    Or one can use amrex/Tools/Backtrace/parse_bt.py.

=== Please note that the line number reported by addr2line may not be accurate.
    One can use
            readelf -wl my_exefile | grep my_line_address'
    to find out the offset for that line.

 0: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x213990) [0x55dcbf824990]
    amrex::BLBackTrace::print_backtrace_info(_IO_FILE*)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_BLBackTrace.cpp:179:39

 1: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x2157d0) [0x55dcbf8267d0]
    amrex::BLBackTrace::handler(int)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_BLBackTrace.cpp:85:8

 2: /lib64/libc.so.6(+0x3c6b0) [0x7f5ec76386b0]
    __restore_rt
??:0

 3: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x85a5f) [0x55dcbf696a5f]
    operator() inlined at /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_GpuLaunchFunctsC.H:69:10 in Castro::gwstrain(double, double&, double&, double&, double&, double&, double&, bool)
/raid/testing/castro-gfortran/Castro//Source/driver/sum_utils.cpp:525:90
ParallelFor<Castro::gwstrain(amrex::Real, amrex::Real&, amrex::Real&, amrex::Real&, amrex::Real&, amrex::Real&, amrex::Real&, bool)::<lambda(int, int, int)> >
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_GpuLaunchFunctsC.H:69:10
Castro::gwstrain(double, double&, double&, double&, double&, double&, double&, bool)
/raid/testing/castro-gfortran/Castro//Source/driver/sum_utils.cpp:436:31

 4: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x882fa) [0x55dcbf6992fa]
    Castro::sum_integrated_quantities()
/raid/testing/castro-gfortran/Castro//Source/driver/sum_integrated_quantities.cpp:257:31

 5: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x4cc4c) [0x55dcbf65dc4c]
    Castro::post_timestep(int)
/raid/testing/castro-gfortran/Castro//Source/driver/Castro.cpp:2140:9

 6: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x27e7ca) [0x55dcbf88f7ca]
    amrex::Amr::timeStep(int, double, int, int, double)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2032:32

 7: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x27086a) [0x55dcbf88186a]
    std::vector<double, std::allocator<double> >::operator[](unsigned long) inlined at /raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:36:54 in amrex::Amr::coarseTimeStep(double)
/usr/include/c++/9/bits/stl_vector.h:1042:2
amrex::Vector<double, std::allocator<double> >::operator[](unsigned long)
/raid/testing/castro-gfortran/amrex//Src/Base/AMReX_Vector.H:36:54
amrex::Amr::coarseTimeStep(double)
/raid/testing/castro-gfortran/amrex//Src/Amr/AMReX_Amr.cpp:2083:26

 8: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x2a26c) [0x55dcbf63b26c]
    main
/raid/testing/castro-gfortran/Castro//Source/driver/main.cpp:143:33

 9: /lib64/libc.so.6(__libc_start_main+0xf3) [0x7f5ec76231a3]
    __libc_start_main
??:0

10: ./Castro2d.gnu.TEST.TPROF.MPI.TRUESDC.ex(+0x3612e) [0x55dcbf64712e]
    _start
??:0


===== TinyProfilers ======
main()
Amr::coarseTimeStep()
Amr::timeStep()
Castro::post_timestep()
Castro::gwstrain()