Sanitizer_CallbackData

struct Sanitizer_CallbackData

传递到运行时或驱动程序 API 回调函数中的数据。

作为 cbdata 参数传递到运行时或驱动程序 API 回调函数的数据,用于 Sanitizer_CallbackFunccbdata 将是此类型,当 domain 等于 SANITIZER_CB_DOMAIN_DRIVER_API 或 SANITIZER_CB_DOMAIN_RUNTIME_API 时。回调数据仅在传递数据的回调函数的调用中有效。如果需要保留一些数据以在回调外部使用,则必须复制该数据。例如,如果在回调中对 Sanitizer_CallbackData 进行浅拷贝,则不能在该回调外部解引用 functionParams 以访问函数参数。functionName 是一个例外:functionName 指向的字符串是全局常量,因此可以在回调外部访问。

公共成员

Sanitizer_ApiCallbackSite callbackSite

运行时或驱动程序函数中发出回调的位置。

CUcontext context

线程当前的驱动程序上下文,如果没有上下文,则为空。

如果运行时初始化了上下文,则此值可以从运行时 API 函数的入口回调更改为退出回调。

const char *functionName

发出回调的运行时或驱动程序 API 函数的名称。

此字符串是全局常量,因此可以在回调外部访问。

const void *functionParams

指向传递给运行时或驱动程序 API 调用的参数的指针。

有关每个运行时和驱动程序 API 函数的参数的结构定义,请参阅 generated_cuda_runtime_api_meta.h 和 generated_cuda_meta.h。

const void *functionReturnValue

指向运行时或驱动程序 API 调用的返回值的指针。

此字段仅在 SANITIZER_API_EXIT 回调中有效。对于运行时 API,functionReturnValue 指向 cudaError_t。对于驱动程序 API,functionReturnValue 指向 CUresult

const char *symbolName

发出回调的运行时或驱动程序 API 函数操作的符号的名称。

此条目仅对驱动程序和运行时启动回调有效,其中它返回内核的名称。