限制实验范围

另请参见

如何将数据记录限制在程序的特定部分?

如果不想更改程序,您可以使用 dbx collector 子命令来控制数据收集。如果要更改程序,则可插入对收集器 API 函数的调用。

手动控制数据收集:

  1. 在要开始和停止数据收集的代码点设置断点。
  2. 在要开始数据收集的点暂停程序。
  3. 启用和配置收集器。可以使用 collector enable 命令启用收集器。
  4. 继续执行程序。
  5. 在每个要停止数据收集的断点输入 collector pause 命令。
  6. 在每个要重新开始数据收集的断点输入 collector resume 命令。
  7. 收集数据完成时,禁用抽样收集器。可以使用 collector disable 命令禁用收集器。

自动控制数据收集:

  1. 使用 [输出] 窗口中的 [Dbx 命令] 标签,设置暂停和重新开始数据收集的条件:
    when resume-condition { collector resume; cont; }
    when pause-condition { collector pause; cont; }
    
  2. 在要开始数据收集的点暂停程序。
  3. 启用和配置收集器。
  4. 继续执行程序。
  5. 收集数据完成时,禁用收集器。

在程序内控制数据收集:

  1. 将对 API 例程 collector_pause()collector_resume() 的调用插入程序中。
  2. 在已经调用 API 例程的函数中插入包含文件。在 C 或 C++ 程序中,插入以下行:

    #include libcollector.h

    在 Fortran 程序中,插入以下行:

    include "libfcollector.h"

  3. 重新编译和链接程序。

    Fortran 程序必须使用 -lfcollector 选项进行链接。

  4. 启用收集器后,使用 collect 命令的一个子命令 dbx 或 IDE 中的 Dbx 调试器运行程序。

    如果未启用数据收集,调用收集器 API 例程将被忽略。插入 API 调用不会启用数据收集。

也可在从程序调用 collector_terminate_expt(),以在记录数据完成时结束实验。

另请参见
收集性能数据

找到要找的内容了吗?如未找到,请将您的意见通过电子邮件发送至 docfeedback@sun.com。
法律声明