Oracle Solaris Studio 12.2 dbx 中新增或更改了以下功能。
改进了对优化代码调试的支持:
x86 平台上提供了有关查找参数和局部变量的信息。
提供了针对 SPARC 平台的有关内联函数的信息。
新增了用于显示有关 OpenMP 区域、任务和线程集的信息的命令:
omp_pr [parallel_region_id] [-ancestors|-tree] [-v]
输出有关当前并行区域或由 parallel_region_id 指定的区域的说明,包括并行区域 ID、类型(隐式或显式)、状态(活动或非活动)、组大小(线程数)和程序位置(程序计数器地址)。
omp_tr [task_region_id] [-ancestors|-tree]
输出当前任务区域或由 task_region_id 指定的区域的说明,包括任务区域 ID、类型(隐式或显式、绑定或未绑定)、状态(已生成、正在执行或正在等待)、遇到的线程、正在执行的线程、程序位置、未完成的子线程和父线程。
omp_team [parallel_region_id]
输出当前组中的所有线程。如果已指定 parallel_region_id,将输出该区域的组中的线程。
omp_loop
输出当前循环的说明,包括调度类型(静态或动态)、等待或非等待、是否有序、界限和迭代数。此命令只能从当前正在执行循环的线程发出。
omp_serialize
将当前线程遇到的下一个并行区域序列化。
OpenMP 程序的现有命令的扩展:
print -s expression
thread -info
what is name
where
新增的 OpenMP 事件:
omp_barrier [type] [state]
跟踪线程进入屏障事件。
omp_taskwait [state]
跟踪线程进入任务等待事件。
omp_ordered [state]
跟踪线程进入有序区域事件。
omp_critical
跟踪线程进入重要区域事件。
omp_atomic [state]
跟踪线程进入 atomic 区域事件。
omp_flush [type]
跟踪线程执行刷新事件。
omp_task [state]
跟踪任务的创建和终止。
omp_master
跟踪主线程进入主区域事件。
omp_single
跟踪线程进入单个区域事件。