【发布时间】:2020-07-19 10:35:25
【问题描述】:
使用 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 填充的。但是,这会完全跳过 for 循环,并从并行线程再次加入的地方继续。
有没有办法强制进入一个编译指示指令/openMP 循环?
【问题讨论】:
标签: c++ eclipse debugging openmp step-into