/* Implementation of DebugHelperImpl.setCTracingOn*/ JNIEXPORT void JNICALL Java_sun_awt_DebugHelperImpl_setCTracingOn__ZLjava_lang_String_2( JNIEnv *env, jobject self, jboolean enabled, jstring file ) { #if defined(DEBUG) const char * cfile; cfile = JNU_GetStringPlatformChars(env, file, NULL); if ( cfile == NULL ) { return; } DTrace_EnableFile(cfile, enabled == JNI_TRUE); JNU_ReleaseStringPlatformChars(env, file, cfile); #endif }
/* * Call this function at shutdown time to report any leaked blocks */ void DMem_ReportLeaks() { MemoryListLink * link; DMutex_Enter(DMemMutex); /* Force memory leaks to be output regardless of trace settings */ DTrace_EnableFile(THIS_FILE, TRUE); DTRACE_PRINTLN("--------------------------"); DTRACE_PRINTLN("Debug Memory Manager Leaks"); DTRACE_PRINTLN("--------------------------"); /* walk through allocated list and dump any blocks not marked as freed */ link = MemoryList.next; while (link != NULL) { if ( !link->freed ) { DMem_DumpHeader(link->header); } link = link->next; } DMutex_Exit(DMemMutex); }