static void m4u_dump_backtrace(void) { char name[35] = "/data/m4u_dump"; //sprintf(name, "/data/m4u_dump_%d_%d.txt", getpid(), gettid()); M4UMSG("m4u dump back trace when error============> \n"); rtt_dump_backtrace(getpid(), gettid(), name); FILE *fp = fopen(name, "r"); if(fp) { char tmp[101] = ""; int cnt=0; while( (fgets(tmp, 100, fp) != NULL) && (cnt<500) ) { cnt++; M4UMSG("[%d]: %s", cnt, tmp); } fclose(fp); } //unlink(name); }
static jint wrap_rtt_dump_backtrace(JNIEnv* env, jobject clazz,jint pid, jint tid, jstring file_path) { const char *path = env->GetStringUTFChars(file_path, NULL); //return 1; return rtt_dump_backtrace(pid,tid,(char*)path); }