另请参见
如何将数据记录限制在程序的特定部分?
如果不想更改程序,您可以使用 dbx collector 子命令来控制数据收集。如果要更改程序,则可插入对收集器 API 函数的调用。
手动控制数据收集:
-
在要开始和停止数据收集的代码点设置断点。
-
在要开始数据收集的点暂停程序。
-
启用和配置收集器。可以使用 collector enable 命令启用收集器。
-
继续执行程序。
-
在每个要停止数据收集的断点输入 collector pause 命令。
-
在每个要重新开始数据收集的断点输入 collector resume 命令。
-
收集数据完成时,禁用抽样收集器。可以使用 collector disable 命令禁用收集器。
自动控制数据收集:
-
使用 [输出] 窗口中的 [Dbx 命令] 标签,设置暂停和重新开始数据收集的条件:
when resume-condition { collector resume; cont; }
when pause-condition { collector pause; cont; }
-
在要开始数据收集的点暂停程序。
-
启用和配置收集器。
-
继续执行程序。
-
收集数据完成时,禁用收集器。
在程序内控制数据收集:
-
将对 API 例程 collector_pause() 和 collector_resume() 的调用插入程序中。
-
在已经调用 API 例程的函数中插入包含文件。在 C 或 C++ 程序中,插入以下行:
#include libcollector.h
在 Fortran 程序中,插入以下行:
include "libfcollector.h"
-
重新编译和链接程序。
Fortran 程序必须使用 -lfcollector 选项进行链接。
-
启用收集器后,使用 collect 命令的一个子命令 dbx 或 IDE 中的 Dbx 调试器运行程序。
如果未启用数据收集,调用收集器 API 例程将被忽略。插入 API 调用不会启用数据收集。
也可在从程序调用 collector_terminate_expt(),以在记录数据完成时结束实验。
找到要找的内容了吗?如未找到,请将您的意见通过电子邮件发送至 docfeedback@sun.com。
法律声明