如何让gdb每次都达到观察点并避免错过?

时间:2016-07-29 21:34:54

标签: fortran gdb cray-pointers

我正在广泛使用的项目使用Fortran Cray指针。经过数周的研究,我能够学习如何在gdb 7.11中为cray指针设置一个观察点,用于使用intel ifort fortran编译器编译的Fortan代码。这是我发现和一直在做的事情。

假设您要在cray指针“ro”上设置断点。首先获取有关变量的信息

(gdb) whatis ro
type = PTR TO -> ( REAL(8) (0:39930992,0:39931232))

这将告诉您该对象是一个指针。接着,

      (gdb) print ro
      $2 = (PTR TO -> ( REAL(8) (0:39930992,0:39931232))) 0x556d93c0

设置观察点,接下来我做

 (gdb) watch *0x556d93c0
 Hardware watchpoint 4: *0x556d93c0

我的问题是gdb只停留在我的源代码中的某些位置(ro的实例),但我知道它出现在地址为0x556d93c0的其他几个位置。如何防止这些失误并提高调试的准确性?

0 个答案:

没有答案