使用Nsight Eclipse Edition 10.2使用gdb 7.11.1调试纯 C++ 代码。
该代码使用对 OpenMP 的编译指示调用来分叉一个 for 循环。以下是一个最小的工作示例,其中一个简单的数组q
填充了另一个变量的值p
:
#pragma omp parallel for schedule (static)
for(int p=pstart; p<pend; p++){
const unsigned i = id[p];
if(start <= i && i < end)
q[i - start] = p;
}
在调试模式下,我想使用步进函数(经典F5)来跟踪数组如何q
填充p
's. 但是,这完全跳过了 for 循环,并在并行线程再次加入的地方恢复。
有没有办法强制进入pragma 指令/openMP 循环?