为什么我在gdb backtrace中看不到行号?

迪米塔尔·斯拉夫切夫(Dimitar Slavchev)

我看不到gdb中的行号。我已经用mpiicc用-g标志编译了所有内容。

gdb甚至不显示断点的行号。

问题可能出在“缺少单独的debuginfo,请使用:debuginfo-install glibc-2.12-1.166.el6_7.7.x86_64 numactl-2.0.9-2.el6.x86_64”中,但是我不是超级用户,所以我无法安装这些文件。

 gdb  --args ./central -g 5 51
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-83.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/dslavchev/NuclearTesting/MPI/project-a-test-mpi/central...done.
(gdb) break direct.c:55
Breakpoint 1 at 0x40855d: file direct.c, line 55.
(gdb) l direct.c:55
50  
51  void direct(int* N, double **PA, Coord **points)
52  {
53      int     i ,j ,k ,l, ir, irr,
54              md = suma(N , NUM_AIRFOILS) - NUM_AIRFOILS,
55              m;
56      double  *D, // **D,
57              *A, *sv;
58  
59      int matrix_size_D = md*md;
(gdb) r
Starting program: /home/dslavchev/NuclearTesting/MPI/project-a-test-mpi/central -g 5 51
[Thread debugging using libthread_db enabled]

Breakpoint 1, 0x000000000040855d in direct ()
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.166.el6_7.7.x86_64 numactl-2.0.9-2.el6.x86_64
(gdb) bt
#0  0x000000000040855d in direct ()
#1  0x0000000000405ee9 in main ()
(gdb) s
Single stepping until exit from function direct,
which has no line number information.
PMPI_Comm_size (comm=1140850688, size=0x7fffffffc240) at ../../src/mpi/comm/comm_size.c:57
57  ../../src/mpi/comm/comm_size.c: No such file or directory.
    in ../../src/mpi/comm/comm_size.c
(gdb) s
65  in ../../src/mpi/comm/comm_size.c
(gdb) s
57  in ../../src/mpi/comm/comm_size.c
(gdb) 
58  in ../../src/mpi/comm/comm_size.c
(gdb) 
59  in ../../src/mpi/comm/comm_size.c
(gdb) 
65  in ../../src/mpi/comm/comm_size.c
(gdb) 

这也是构建命令:

mpiicc -g -c -o central.o central.c -qopenmp 
mpiicc -g -c -o contours.o contours.c -qopenmp 
mpiicc -g -c -o mymath.o mymath.c -qopenmp 
mpiicc -g -c -o vort.o vort.c -qopenmp 
mpiicc -g -qopenmp   -I/opt/intel/parallel_studio_xe_2017.2.050/compilers_and_libraries_2017/linux/mkl/include -c -o  direct.o direct.c 
mpiicc -g -c -o a_liftarg.o a_liftarg.c -qopenmp 
mpiicc -g -c -o psavel.o psavel.c -qopenmp 
mpiicc -g -c -o euler.o euler.c -qopenmp 
mpiicc -g -c -o streamline.o streamline.c -qopenmp 
mpiicc -g -c -o speedmap.o speedmap.c -qopenmp 
mpiicc -g -o central central.o contours.o mymath.o vort.o direct.o a_liftarg.o psavel.o euler.o streamline.o speedmap.o /opt/intel/parallel_studio_xe_2017.2.050/compilers_and_libraries_2017/linux/mkl/lib/intel64/libmkl_scalapack_lp64.a -Wl,--start-group /opt/intel/parallel_studio_xe_2017.2.050/compilers_and_libraries_2017/linux/mkl/lib/intel64/libmkl_intel_lp64.a /opt/intel/parallel_studio_xe_2017.2.050/compilers_and_libraries_2017/linux/mkl/lib/intel64/libmkl_intel_thread.a /opt/intel/parallel_studio_xe_2017.2.050/compilers_and_libraries_2017/linux/mkl/lib/intel64/libmkl_core.a /opt/intel/parallel_studio_xe_2017.2.050/compilers_and_libraries_2017/linux/mkl/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group -liomp5 -lpthread -lm -ldl -qopenmp
受雇于俄罗斯

可能是问题

无:这个问题是不是(没有main,没有direct被定义libc)。

这似乎是GDB中的错误:在执行之前run,它清楚地知道该地址0x40855d对应于direct.c, line 55

但是之后run,它以某种方式忘记了它知道这一点。

您的GDB版本也已经9年了。第一步,我建议构建一个当前版本(截至今天为8.3)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的GridView对象在代码中看不到?

为什么在cloudboost中看不到我的表?

在gdb中看不到变量

为什么在TFS中看不到分支树?

为什么在C#中看不到Ping类?

为什么在SSMS结果列表中看不到全名?

为什么在图形绘制中看不到弯曲的边缘?

为什么在 QGraphicsScene 中看不到 QGraphicsWidget 的选择边框?

为什么在PowerShell中看不到脚本的参数?

为什么在UIScrollView中看不到UIStackView?

为什么在Swift中看不到图像?

为什么在Nautilus中看不到缩略图?

为什么模块在引擎代码中看不到类?

为什么我在我的表中看不到我的 JSON 数据?

为什么我在 Fabric 中看不到我的 android 应用程序图标?

为什么我的Java文件在我的R文件中看不到新元素?

为什么我在Chrome中看不到我的HTTP标头?

为什么我在Docker容器中看不到我的文件?

为什么我在本地存储中看不到我上次点击的值?

为什么我在Python中看不到我的mp3文件?

为什么我在RAM中看不到我的文件?

在gdb中看不到任何功能

为什么我的SelectionGrid在Unity Editor中看不到GameObject?

为什么在VM中看不到我的内部网络?

为什么我在操作栏中看不到默认图标?

为什么我在 Python 的主线程中看不到写入到子进程中的队列?

为什么我在 Application Insights 中看不到“失败”级别的日志输出?

为什么我在 R 中的函数中看不到函数的源代码?

为什么我在lua函数中看不到打印内容