dbx 可以输出所有共享、专用和线程专用变量。如果尝试输出并行区域之外的线程专用变量,将输出主线程的副本。whatis 命令用于输出并行构造内共享变量和专用变量的数据共享属性。对于线程专用变量,无论这些变量是否在并行构造内,都将输出其数据共享属性。例如:
(dbx) whatis p_a # OpenMP first and last private variable int p_a;
print –s 命令用于输出当前 OpenMP 并行区域中每个线程的 expression 表达式的值(如果该表达式包含专用变量或线程专用变量)。例如:
(dbx) print -s p_a thread t@3: p_a = 3 thread t@4: p_a = 3
如果该表达式不包含任何专用变量或线程专用变量,将仅输出一个值。