今天狀態很一般,在寫OpenCL代碼時,總是各種小問題。百度了下android NDK調試問題,但是似乎有點複雜,今天狀態不行,所以也就不去折騰了。最後百度到了一種比較簡單的調試辦法,那就是在LogCat中打印信息。
添加頭文件:
#include <android/log.h>
自己定義檢測OpenCL錯誤的函數:
void checkErr(cl_int err,int num)
{
if(CL_SUCCESS!=err){
__android_log_print(ANDROID_LOG_INFO, "ERROR", "ERROR:%d at: %d", err,num);
}
}
用到了android NDK中提供的Log庫。
在android.mk中,添加:
LOCAL_LDFLAGS += <span style="color:#ff0000;">-llog </span> -lOpenCL
添加鏈接Log庫這樣當有OpenCL錯誤時,在LogCat端就會有輸出:
這樣就能準確定位錯誤了。
等有空了,還是去研究下ndk-gdb怎麼調試吧。