Ich schreibe eine Clientanwendung mit Java Swing. Ich bin ziemlich verwirrt darüber, wie ein Launcher JVM-Absturzinformationen erfassen kann, wenn die JVM abstürzt.
Die Datei hs_err_pid[PID].log wird nicht generiert. Ich glaube, mein C++-Launcher wird normal beendet. Projektstruktur
Ich kann die Ausnahmeinformationen immer noch nicht erfassen. Ich glaube, dass die JVM abgestürzt ist und beendet wurde und die Ausnahme asynchron in einem separaten Thread ausgelöst wurde.
Wie kann ich JVM-Absturz-Exit-Informationen mit einem C++-Launcher erfassen?
Ich schreibe eine Clientanwendung mit Java Swing. Ich bin ziemlich verwirrt darüber, wie ein Launcher JVM-Absturzinformationen erfassen kann, wenn die JVM abstürzt. Die Datei hs_err_pid[PID].log wird nicht generiert. Ich glaube, mein C++-Launcher wird normal beendet. [b]Projektstruktur[/b] [img]https://i.sstatic.net/cbE7cqgY.png[/img]
// 5. start jvm and run JavaVM* jvm; JNIEnv* env; if (createVM(&jvm, (void**)&env, &vmArgs) >= 0) { jclass mainClass = env->FindClass("com/example/code/Application"); if (mainClass) { jmethodID mainMethod = env->GetStaticMethodID(mainClass, "main", "([Ljava/lang/String;)V"); if (mainMethod) { // call main method jobjectArray args = env->NewObjectArray(0, env->FindClass("java/lang/String"), NULL); env->CallStaticVoidMethod(mainClass, mainMethod, args); //I can’t capture the exception because I believe the JVM has already crashed and exited. if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear(); MessageBoxW(NULL, L"JVM crashed!", L"error", MB_OK | MB_ICONERROR); } } } else { MessageBoxW(NULL, L"not find main !!!", L"error", MB_OK | MB_ICONERROR); } jvm->DestroyJavaVM(); }
FreeLibrary(hJvmDll); return 0; } [/code] Ich habe hier gerade eine Ausnahme simuliert: [img]https://i.sstatic.net/bmesgr5U.png[/img]
[b]Ausnahmebehandlungscode[/b] [code] if (env->ExceptionOccurred()) { env->ExceptionDescribe(); env->ExceptionClear(); MessageBoxW(NULL, L"JVM crashed!", L"error", MB_OK | MB_ICONERROR); } [/code] Ich kann die Ausnahmeinformationen immer noch nicht erfassen. Ich glaube, dass die JVM abgestürzt ist und beendet wurde und die Ausnahme asynchron in einem separaten Thread ausgelöst wurde. Wie kann ich JVM-Absturz-Exit-Informationen mit einem C++-Launcher erfassen?
Ich schreibe eine Clientanwendung mit Java Swing. Ich bin ziemlich verwirrt darüber, wie ein Launcher JVM-Absturzinformationen erfassen kann, wenn die JVM abstürzt.
Die Datei hs_err_pid .log wird...
Ich erstelle eine Infrastrukturschicht, die regelmäßig „Handler“ ausführen soll.
Ich bin nicht derjenige, der die Handler schreibt, ihre Logik kann variieren.
Handler können gleichzeitig ausgeführt...
Es wurde gesagt, dass Sie immer Ausnahmen im Programm haben sollten. Aber in letzter Zeit habe ich gehört, dass Sie jetzt immer Laufzeitausnahmen bearbeiten sollten , Ausnahmen wie...
Problem:
Ich habe ein benutzerdefiniertes NPM-Paket, das Dienstprogramme umfasst, die von verschiedenen mit Nest JS erstellten Mikrodiensten gemeinsam genutzt werden. Das Problem besteht darin, dass,...
Ich versuche, eine ausgelöste Ausnahme in einem Spring WebFlux-Controller abzufangen. Wenn i 3 erreicht, ruft es die Handler-Methode auf und führt den Handler aus, aber der zurückgegebene Wert wird...