Die Windows-Rechneranwendung stürzt aufgrund einer WerFault-Inkonsistenz ab, wenn sie von einem Dienst mit CreateProcessAsUserW() gestartet wird.

PHPz
Freigeben: 2024-02-05 22:51:07
nach vorne
1208 Leute haben es durchsucht

使用 CreateProcessAsUserW() 从服务启动时,Windows 计算器应用程序会因 WerFault 不一致而崩溃

Frageninhalt

Der Windows-Dienst ist in Go geschrieben und versucht mit CreateProcessAsUserW() einen Rechnerprozess im Benutzerkontext zu erstellen.

Sein Code ist von diesem Kern inspiriert:

https://gist.github.com/LiamHaworth/1ac37f7fb6018293fc43f86993db24fc#file-native-go

Meistens wird die Rechner-App beim aktiven Benutzer gestartet. Manchmal startet die App jedoch nicht, ohne dass ein Fehler zurückgegeben wird. CreateProcessAsUserW()

Eine Untersuchung mit Procmon ergab, dass die Anwendung beim Starten der Rechneranwendung abstürzte und auf das Sammeln von WerFault-Dumps zurückgriff. Leider sehe ich im Ereignisprotokoll keinen detaillierten Dump.

WerFault-Absturz in ProcMon beobachtet

Detaillierte Stack-Traces zum Starten von drei ähnlichen Taschenrechner-Apps mit – die ersten beiden waren erfolgreich, die dritte fehlgeschlagenCreateProcessAsUserW

Dieser Fehler ist zufälliger Natur und macht die Anwendung nicht zuverlässig. Ich habe keine Ahnung, was/wie ich von hier aus debuggen soll, und würde mich wirklich über jede Hilfe freuen.


Richtige Antwort


Der Fehler scheint auf eine falsche Kompilierungsumgebung zurückzuführen zu sein, in der mit x64 erstellte Binärdateien auf arm64 ausgeführt werden. Vielen Dank für jeden Beitrag

Das obige ist der detaillierte Inhalt vonDie Windows-Rechneranwendung stürzt aufgrund einer WerFault-Inkonsistenz ab, wenn sie von einem Dienst mit CreateProcessAsUserW() gestartet wird.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage